Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses

ABSTRACT

A communication technique is provided for realizing transmission/reception of an operation request and an operation response to a received operation response performed between a plurality of communication apparatuses that are arranged to either transmit a communication request and receive a communication response to this communication request or receive a communication request and transmit a communication response to this communication request. The communication apparatus may correspond to an HTTP client that collectively sends to an HTTP server a client command that is to be sent to the HTTP server and a response to a server command that has been received from the HTTP server in one batch as an HTTP request, or the communication apparatus may correspond to the HTTP server that collectively sends a server command that is to be sent to the HTTP client and a response to a client command that has been received from the HTTP client in one batch as an HTTP response.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a communication technique in acommunication system implementing a plurality of communicationapparatuses for realizing between the communication apparatusestransmission/reception of an operation request andtransmission/reception of an operation response to an operation requestreceived from the communication counterpart.

[0003] 2. Description of the Related Art

[0004] It is known that in a communication system connecting a pluralityof communication apparatuses via a network, the communicationapparatuses exchange messages with each other so that a communicationapparatus is able to send a notification to a counterpart communicationapparatus or command the counterpart apparatus to execute a request, forexample. In such a system, a communication apparatus may send a commandto execute an operation to another communication apparatus as anoperation request and the communication apparatus receiving theoperation request may send an execution result of the operation as anoperation response.

[0005] Also, a technique is known in which a portion of thecommunication apparatuses making up the communication system arearranged to be communication clients and another portion of thecommunication apparatuses are arranged to be communication servers, andcommunication between a communication client and a communication serveris realized by a protocol in which the communication client sends acommunication request to the communication server and the communicationserver sends back a communication response to the communication clientcorresponding to a sender of the communication request.

[0006] In such a system, the communication client may describe anoperation request in the communication request and send this to thecommunication server, and the communication server may describe theoperation response to this operation request in the communicationresponse and send this back to the communication client corresponding tothe sender of the communication request.

[0007] Further, a reversal of the above technique is known in which thecommunication server sends an operation request to the communicationclient to administer the execution of an operation. In the following,exemplary implementations of such technology are described.

[0008] In Japanese Patent Laid Open Publication No.2001-273211, amessage transmission/reception technique between a remote processor anda local processor is disclosed in which the remote processor sends amessage indicating a command that is to be executed by the localprocessor and receives a response to the command from the localprocessor.

[0009] Also, according to this document, in a case where the localprocessor is stationed within a firewall, the local processor sends acommunication request to the remote processor stationed outside thefirewall so that a command can be sent to the local processor within thefirewall from outside.

[0010] In this example, the local processor corresponds to thecommunication client and the remote processor corresponds to thecommunication server.

[0011] Also, the technology relating to the operation request can beused in a system for controlling the operation of an apparatus connectedto the communication apparatus at a remote location. An example of suchimplementation is disclosed in Japanese Patent Laid Open PublicationNo.2002-135858. According to this document, in a remote operation systemfor operating blinds and lights, a remote operation apparatus having thefunction of accepting operations made by a user sends a command to aremotely controlled apparatus having the function of operating theblinds and lights. However, in this document, no mention is made ofsending a response to the command.

[0012] In a case where messages are exchanged between a plurality ofcommunication apparatuses, one of the communication apparatuses maycorrespond to the sender of commands. Alternatively, a plurality ofcommunication apparatuses may be arranged to send commands to eachother, in which case the communication apparatus receiving a command isarranged to send back an execution result to the sender of the command.In such an arrangement, information sent from one communicationapparatus to a counterpart communication apparatus may be a command tothe counterpart communication apparatus or an execution result of acommand received from the counterpart communication apparatus.

[0013] In the conventional art, these commands and execution results aresent separately. In such a method, separate connections are respectivelyestablished for the time a command is to be sent and for the time anexecution result of the received command is to be sent. In turn, thecommunication overhead is increased and thereby a problem incommunication efficiency arises.

[0014] Presently, there are still many environments implementing thedial-up connection for establishing connection within a network. Theabove-described problem is particularly troublesome in suchenvironments. Namely, in such environments, it may take several tens ofseconds to establish a connection, and a fee is charged each time aconnection is established. Therefore, an increase in the number ofconnections established results in a significant rise in costs.

SUMMARY OF THE INVENTION

[0015] The present invention has been conceived in order to resolve oneor more of the above-described problems of the related art and itsobject is to improve communication efficiency for thetransmission/reception of an operation request and an operation responseto this operation request between a plurality of communicationapparatuses.

[0016] Specifically, according to one aspect, a communication method ofthe present invention includes the steps of:

[0017] collectively transmitting from a first communication apparatus toa second communication apparatus an operation request to be transmittedto the second communication apparatus and an operation response to anoperation request received from the second communication apparatus thatare combined in one batch;

[0018] collectively transmitting from the second communication apparatusto the first communication apparatus an operation request to betransmitted to the first communication apparatus and an operationresponse to an operation request received from the first communicationapparatus that are combined in one batch.

[0019] Further, in a preferred embodiment, the operation requestcorresponds to a function call and the operation response corresponds toan execution result of a function called by the function call.

[0020] Additionally, the second communication apparatus may be arrangedto transmit the operation request and the operation response as acommunication request; and the first communication apparatus may bearranged to transmit the operation request and the operation response asa communication response to the communication request from the secondcommunication apparatus.

[0021] Also, the second communication apparatus may be arranged toperiodically transmit the communication request to the firstcommunication apparatus.

[0022] According to another embodiment, a communication method of thepresent invention includes the steps of:

[0023] transmitting from a first communication apparatus to a secondcommunication apparatus a SOAP request to be transmitted to the secondcommunication apparatus and a SOAP response to a SOAP request receivedfrom the second communication apparatus that are described in onemessage; and

[0024] transmitting from the second communication apparatus to the firstcommunication apparatus a SOAP request to be transmitted to the firstcommunication apparatus and a SOAP response to a SOAP request receivedfrom the first communication apparatus that are described in onemessage.

[0025] Further, in a preferred embodiment, the SOAP request describes afunction call and the SOAP response describes an execution result of afunction called by the function call.

[0026] Additionally, the second communication apparatus may be arrangedto transmit to the first communication apparatus an HTTP request thatdescribes the SOAP request and SOAP response to be transmitted to thefirst communication apparatus, and the first communication apparatus maybe arranged to transmit to the second communication apparatus an HTTPresponse to the HTTP request that describes the SOAP request and SOAPresponse to be transmitted to the second communication apparatus.

[0027] Also, the second communication apparatus may be arranged toperiodically transmit the HTTP request to the first communicationapparatus.

[0028] According to the communication method of the present invention,an operation request to a communication counterpart and an operationresponse to an operation request received from the communicationcounterpart may be collectively transmitted in one connection so thatthe communication overhead can be reduced and communication efficiencycan be improved.

[0029] In another aspect of the present invention, a communicationapparatus adapted to communicate with another communication apparatus asa communication counterpart includes:

[0030] transmitting means for collectively transmitting to thecommunication counterpart an operation request to be transmitted to thecommunication counterpart and an operation response to an operationrequest from the communication counterpart that are combined in onebatch;

[0031] receiving means for collectively receiving from the communicationcounterpart an operation response to the operation request transmittedto the communication counterpart and an operation request from thecommunication counterpart that are combined in one batch; and

[0032] means for executing an operation according to the operationrequest from the communication counterpart, and generating an operationresponse to said operation request as an execution result of saidoperation.

[0033] Further, in a preferred embodiment, the operation requestcorresponds to a function call, and the operation response correspondsto an execution result of a function called by the function call.

[0034] According to another embodiment, a communication apparatus of thepresent invention that is adapted to communicate with anothercommunication apparatus as a communication counterpart includes:

[0035] first storage means for storing an operation request from thecommunication counterpart and an operation response to said operationrequest;

[0036] second storage means for storing an operation request to thecommunication counterpart and an operation response to said operationrequest;

[0037] request generating means for generating the operation request tothe communication counterpart and storing said operation request in thesecond storage means;

[0038] response generating means for reading from the first storagemeans the operation request from the communication counterpart,executing an operation according to said operation request, generatingthe operation response to said operation request an execution result ofsaid operation, and storing in the first storage means the generatedoperation response in association with the read operation request;

[0039] gathering means for reading from the first storage means theoperation response to the operation request from the communicationcounterpart, and reading from the second storage means the operationrequest to the communication counterpart;

[0040] transmitting means for collectively transmitting to thecommunication counterpart the operation response and the operationrequest read by the gathering means in one batch;

[0041] receiving means for collectively receiving from the communicationcounterpart the operation response to the operation request transmittedto the communication counterpart and the operation request from thecommunication counterpart in one batch; and

[0042] distributing means for storing in the first storage means theoperation request from the communication counterpart received by thereceiving means, and storing in the second storage means the operationresponse to the operation request transmitted to the communicationcounterpart in association with the operation request transmitted to thecommunication counterpart.

[0043] Further, in a preferred embodiment, the transmitting means isarranged to transmit to the communication counterpart the operationrequest and the operation response as respective SOAP messages, and thereceiving means is arranged to receive from the communicationcounterpart the operation request and the operation response asrespective SOAP messages.

[0044] Additionally the communication apparatus of the presentembodiment may further include:

[0045] means for assigning priority information to the operationrequests stored in the first storage means and the operation requeststored in the second storage means; wherein

[0046] the response generating means is arranged to successively readfrom the first storage means the operation request from thecommunication counterpart, generate the operation response to saidoperation request, and store the generated operation response in thefirst storage means according to the priority information; and

[0047] the gathering means is arranged to successively read from thefirst storage means the operation response to the operation request fromthe communication counterpart according to the priority information, andsuccessively read from the second storage means the operation request tothe communication counterpart according to the priority information.

[0048] According to another embodiment, a communication apparatus of thepresent invention that is adapted to communicate with anothercommunication apparatus as a communication counterpart includes:

[0049] transmitting means for collectively transmitting to thecommunication counterpart a SOAP request to be transmitted to thecommunication counterpart and a SOAP response to a SOAP request from thecommunication counterpart that are described in one message;

[0050] receiving means for collectively receiving from the communicationcounterpart a SOAP response to a SOAP request transmitted to thecommunication counterpart and a SOAP request from the communicationcounterpart that are described in one message; and

[0051] means for executing an operation being requested by the SOAPrequest from the communication counterpart and generating the SOAPresponse describing an execution result of said SOAP request.

[0052] Further, in a preferred embodiment, the SOAP request describes afunction call, and the SOAP response describes an execution result of afunction called by the function call.

[0053] According to another embodiment, a communication apparatus of thepresent invention that is adapted to communicate with anothercommunication apparatus as a communication counterpart includes:

[0054] first storage means for storing an operation request from thecommunication counterpart and an operation response to said operationrequest;

[0055] second storage means for storing an operation request to thecommunication counterpart and an operation response to said operationrequest;

[0056] request generating means for generating the operation request tothe communication counterpart and storing said operation request in thesecond storage means;

[0057] response generating means for reading from the first storagemeans the operation request from the communication counterpart,executing an operation according to said operation request, generatingthe operation response to said operation request as an execution resultof said operation, and storing the generated operation response inassociation with the read operation request in the first storage means;

[0058] gathering means for reading from the first storage means theoperation response to the operation request from the communicationcounterpart, and reading from the second storage means the operationrequest to the communication counterpart;

[0059] transmitting means for collectively transmitting to thecommunication counterpart a SOAP response describing a content of theoperation response read by the gathering means and a SOAP responsedescribing a content of the operation request read by the gatheringmeans that are described in one message;

[0060] receiving means for collectively receiving from the communicationcounterpart the SOAP response describing the content of the operationresponse to the operation request transmitted to the communicationcounterpart and the SOAP request describing the content of the operationrequest that are described in one message; and

[0061] distributing means for storing in the first storage means thecontent of the operation request from the communication counterpartdescribed in the SOAP request received by the receiving means, andstoring in the second storage means the content of the operationresponse to the operation request transmitted to the communicationcounterpart described in the received SOAP response in association withthe operation request transmitted to the communication counterpart.

[0062] Also, the communication apparatus of the present embodiment mayfurther include:

[0063] means for assigning priority information to the operation requeststored in the first storage means and the operation request stored inthe second storage means; wherein

[0064] the response generating means is arranged to successively readfrom the first storage means the operation request from thecommunication counterpart, generate the operation response to saidoperation request, and store the generated operation response in thefirst storage means according to the priority information; and

[0065] the gathering means is arranged to successively read from thefirst storage means the operation response to the operation request fromthe communication counterpart according to the priority information, andsuccessively read from the second storage means the operation request tothe communication counterpart according to the priority information.

[0066] In another aspect of the present invention, a communicationsystem implementing a plurality of the communication apparatuses of thepresent invention that are adapted to communicate with each other ascommunication counterparts is provided.

[0067] In another aspect of the present invention, a communicationapparatus control method for controlling a communication apparatus ofthe present invention that is adapted to communicate with anothercommunication apparatus as a communication counterpart is provided.

[0068] In another aspect of the present invention, a medium that storesprograms for controlling a computer to function as a communicationapparatus of the present invention that is adapted to communicate withanother communication apparatus as a communication counterpart isprovided.

[0069] According to the communication apparatus, communication system,and communication apparatus control method of the present invention,communication efficiency can be improved in a communication systemimplementing a plurality of communication apparatuses that are arrangedto exchange an operation request and an operation response to a receivedoperation request with each other Also, according to the media storingthe programs for controlling a computer to function as the communicationapparatus of the present invention, the features of the communicationapparatus of the present invention may be realized in the computer so asto obtain the advantageous effects of the present invention.

[0070] In another aspect of the present invention, a communicationclient that is adapted to transmit a communication request to acommunication server, and receive a communication response to thecommunication request from the communication server is provided, whereinthe communication request describes a client request corresponding to anoperation request to the communication server, and the communicationresponse describes an operation response to the client request,includes:

[0071] transmitting means for collectively transmitting to thecommunication server the client request and an operation response to aserver request corresponding to an operation request from thecommunication server that are described together in the communicationrequest;

[0072] receiving means for collectively receiving from the communicationserver the operation response to the client request transmitted to thecommunication server and the server request that are described togetherin the communication response to the communication request; and

[0073] means for executing an operation according to the server requestand generating the operation response to the server request as anexecution result of said operation.

[0074] Further, in a preferred embodiment, the operation requestcorresponds to a function call, and the operation response correspondsto an execution result of a function called by the function call.

[0075] According to another embodiment, a communication client of thepresent invention that is adapted to transmit a communication request toa communication server, and receive a communication response to saidcommunication request from the communication server, wherein thecommunication request describes a client request corresponding to anoperation request to the communication server, and the communicationresponse describes an operation response to the client request,includes:

[0076] first storage means for storing a server request corresponding toan operation request from the communication server and an operationresponse to said server request;

[0077] second storage means for storing the client request and anoperation response to said client request;

[0078] request generating means for generating the client request andstoring the generated client request in the second storage means;

[0079] response generating means for reading the server request from thefirst storage means, executing an operation according to said serverrequest, generating the operation response to said server request as anexecution result of said operation, and storing in the first storagemeans the generated operation response in association with the readserver request;

[0080] gathering means for reading the operation response to the serverrequest from the first storage means, and reading the client requestfrom the second storage means;

[0081] transmitting means for collectively transmitting to thecommunication server the read operation response and client request thatare described together in the communication request;

[0082] receiving means for collectively receiving from the communicationserver the operation response to the client request transmitted to thecommunication server and the server request that are described togetherin the communication response to the communication request; and

[0083] distributing means for storing in the first storage means theserver request received by the receiving means, and storing in thesecond storage means the received operation response to the clientrequest transmitted to the communication server in association with theclient request transmitted to the communication server.

[0084] Further, in a preferred embodiment, the transmitting means isarranged to periodically transmit the communication request to thecommunication server.

[0085] Additionally, the transmitting means may be arranged to transmitto the communication server the operation request and the operationresponse as respective SOAP messages, and the receiving means may bearranged to receive from the communication server the operation requestand the operation response as respective SOAP messages.

[0086] Also, the communication client of the present embodiment mayfurther include:

[0087] means for assigning priority information to the server requeststored in the first storage means and the client request stored in thesecond storage means; wherein

[0088] the response generating means is arranged to successively readthe server request from the first storage means, generate the operationresponse to said server request, and store the generated operationresponse in the first storage means according to the priorityinformation; and

[0089] the gathering means is arranged to successively read theoperation response to the server request from the first storage meansaccording to the priority information, and successively read the clientrequest from the second storage means according to the priorityinformation.

[0090] According to another embodiment, a communication client of thepresent invention that is adapted to transmit an HTTP request to acommunication server, and receive an HTTP response to said HTTP requestfrom the communication server, wherein the HTTP request describes a SOAPrequest to the communication server, and the HTTP response describes aSOAP response to the SOAP request, includes:

[0091] transmitting means for collectively transmitting to thecommunication server the SOAP request and a SOAP response to a SOAPrequest from the communication server that are described together in theHTTP request;

[0092] receiving means for collectively receiving from the communicationserver the SOAP response to the SOAP request transmitted to thecommunication server and the SOAP request from the communication serverthat are described together in the HTTP response; and

[0093] means for executing an operation according to the SOAP requestreceived from the communication server and generating an executionresult of said operation that is to be described in the SOAP response tosaid SOAP request.

[0094] Further, in a preferred embodiment, the SOAP request describes afunction call, and the SOAP response describes an execution result of afunction called by the function call.

[0095] According to another embodiment, a communication client of thepresent invention that is adapted to transmit an HTTP request to acommunication server, and receive an HTTP response to said HTTP requestfrom the communication server, wherein the HTTP request describes a SOAPrequest to the communication server, and the HTTP response describes aSOAP response to the SOAP request, includes:

[0096] first storage means for storing a server request corresponding toan operation request from the communication server and an operationresponse to said server request;

[0097] second storage means for storing a client request correspondingto an operation request to the communication server and an operationresponse to said client request;

[0098] request generating means for generating the client request andstoring the generated client request in the second storage means;

[0099] response generating means for reading the server request from thefirst storage means, executing an operation according to said serverrequest, generating the operation response to said server request as anexecution result of said operation, and storing in the first storagemeans the generated operation response in association with the readserver request;

[0100] gathering means for reading the operation response to the serverrequest from the first storage means, and reading the client requestfrom the second storage means;

[0101] transmitting means for collectively transmitting to thecommunication server the SOAP response describing a content of theoperation response read by the gathering means and the SOAP requestdescribing a content of the client request read by the gathering meansthat are described together in the HTTP request;

[0102] receiving means for collectively receiving from the communicationserver the SOAP response to the SOAP request transmitted to thecommunication server and the SOAP request from the communication serverthat are described together in the HTTP response to the HTTP request;and

[0103] distributing means for storing in the first storage means thecontent of the server request described in the SOAP request received bythe receiving means, and storing in the second storage means the contentof the operation response to the client request transmitted to thecommunication server described in the SOAP response received by thereceiving means in association with the client request transmitted tothe communication server.

[0104] Further, in a preferred embodiment, the transmitting means isarranged to periodically transmit the HTTP request to the communicationserver.

[0105] Also, the communication client of the present embodiment mayfurther include:

[0106] means for assigning priority information to the server requeststored in the first storage means and the client request stored in thesecond storage means; wherein

[0107] the response generating means is arranged to successively readthe server request from the first storage means, generate the operationresponse to said server request, and store the generated operationresponse in the first storage means according to the priorityinformation; and

[0108] the gathering means is arranged to successively read theoperation response to the server request from the first storage meansaccording to the priority information, and successively read the clientrequest from the second storage means according to the priorityinformation.

[0109] In another aspect of the present invention, a communicationclient control method for controlling the communication client of thepresent invention that is adapted to transmit a communication request toa communication server and receive a communication response to thecommunication request from the communication server is provided.

[0110] In another aspect of the present invention, a medium that storesprograms for controlling a computer to function as a communicationclient of the present invention that is adapted to transmit acommunication request to a communication server and receive acommunication response to the communication request from thecommunication server is provided.

[0111] According to the communication client and communication clientcontrol method of the present invention, communication efficiency can beimproved in the transmission/reception of an operation request and anoperation response to a received operation request performed between aplurality of communication apparatuses that are arranged to eithertransmit a communication request and receive a communication response tothe communication request or receive a communication request andtransmit a communication response to this communication request. Also,according to the medium storing programs for controlling a computer tofunction as a communication client of the present invention, thefeatures of the communication client of the present invention may berealized in the computer so that the advantageous effects of the presentinvention may be realized.

[0112] In another aspect of the present invention, a communicationserver that is adapted to receive a communication request from acommunication client, and transmit a communication response to saidcommunication request to the communication client, wherein thecommunication request describes a client request corresponding to anoperation request from the communication client, and the communicationresponse describes an operation response to the client request,includes;

[0113] receiving means for collectively receiving from the communicationclient the client request and an operation response to a server requestcorresponding to an operation request transmitted to the communicationclient that are described together in the communication request;

[0114] transmitting means for collectively transmitting to thecommunication client the operation response to the client requestreceived from the communication client and the server request that aredescribed together in the communication response to the communicationrequest; and

[0115] means for executing an operation according to the client requestand generating the operation response to the client request as anexecution result of said operation.

[0116] Further, in a preferred embodiment, the operation requestcorresponds to a function call, and the operation response correspondsto an execution result of a function called by the function call.

[0117] According to another embodiment, a communication server of thepresent invention that is adapted to receive a communication requestfrom a communication client, and transmit a communication response tosaid communication request to the communication client, wherein thecommunication request describes a client request corresponding to anoperation request from the communication client, and the communicationresponse describes an operation response to the client request,includes:

[0118] first storage means for storing the client request and anoperation response to said client request;

[0119] second storage means for storing a server request correspondingto an operation request to the communication client and an operationresponse to said server request;

[0120] request generating means for generating the server request andstoring the generated server request in the second storage means;

[0121] response generating means for reading the client request from thefirst storage means, executing an operation according to said clientrequest, generating the operation response to said client request as anexecution result of said operation, and storing in the first storagemeans the generated operation response in association with the readclient request;

[0122] receiving means for collectively receiving from the communicationclient the client request and the operation response to the serverrequest transmitted to the communication client that are describedtogether in the communication request;

[0123] distributing means for storing in the first storage means theclient request received by the receiving means, and storing in thesecond storage means the received operation response to the serverrequest transmitted to the communication client in association with theserver request transmitted to the communication client;

[0124] gathering means for reading the operation response to the clientrequest from the first storage means, and reading the server requestfrom the second storage means; and

[0125] transmitting means for collectively transmitting to thecommunication client the read operation response and server request thatare described together in the communication response.

[0126] Further in a preferred embodiment, the receiving means isarranged to receive the operation response and the operation requestfrom the communication client as respective SOAP messages, and thetransmitting means is arranged to transmit the operation response andthe operation request to the communication client as respective SOAPmessages.

[0127] Also, the communication server of the present embodiment mayfurther include;

[0128] means for assigning priority information to the client requeststored in the first storage means and the server request stored in thesecond storage means; wherein

[0129] the response generating means is arranged to successively readthe client request from the first storage means, generate the operationresponse to said client request, and store the generated operationresponse in the first storage means according to the priorityinformation; and

[0130] the gathering means is arranged to successively read theoperation response to the client request from the first storage meansaccording to the priority information, and successively read the serverrequest from the second storage means according to the priorityinformation.

[0131] According to another embodiment, a communication server of thepresent invention that is adapted to receive an HTTP request from acommunication client, and transmit an HTTP response to saidcommunication request to the communication client, wherein the HTTPrequest describes a SOAP request from the communication client, and theHTTP response describes a SOAP response to said SOAP request, includes:

[0132] receiving means for collectively receiving from the communicationclient the SOAP request and a SOAP response to a SOAP requesttransmitted to the communication client that are described together inthe HTTP request;

[0133] transmitting means for collectively transmitting to thecommunication client the SOAP response to the SOAP request from thecommunication client and the SOAP request to the communication clientthat are described together in the HTTP response to the HTTP request;and

[0134] means for executing an operation according to the SOAP requestreceived from the communication client and generating an executionresult of said operation that is to be described in the SOAP response tosaid SOAP request.

[0135] Further, in a preferred embodiment, the SOAP request describes afunction call, and the SOAP response describes an execution result of afunction called by the function call.

[0136] According to another embodiment, a communication server of thepresent invention that is adapted to receive an HTTP request from acommunication client, and transmit an HTTP response to saidcommunication request to the communication client, wherein the HTTPrequest describes a SOAP request from the communication client, and theHTTP response describes a SOAP response to said SOAP request, includes:

[0137] first storage means for storing a client request corresponding toan operation request from the communication client and an operationresponse to said client command;

[0138] second storage means for storing a server request correspondingto an operation request to the communication client and an operationresponse to said server request;

[0139] request generating means for generating the server request andstoring the generated server request in the second storage means;

[0140] response generating means for reading the client request from thefirst storage means; executing an operation according to said clientrequest, generating the operation response to said client request as anexecution result of said operation, and storing in the first storagemeans the generated operation response in association with the readclient request;

[0141] receiving means for collectively receiving from the communicationclient the SOAP request describing the client request and the SOAPresponse, corresponding to a response to the SOAP request transmitted tothe communication client and describing the operation response to theserver request transmitted to the communication client, that aredescribed together in the HTTP request;

[0142] distributing means for storing in the first storage means acontent of the client request described in the SOAP request received bythe receiving means and storing in the second storage means a content ofthe operation response described in the SOPA response received by thereceiving means in association with the server request transmitted tothe communication client;

[0143] gathering means for reading the operation response to the clientrequest from the first storage means, and reading the server requestfrom the second storage means; and

[0144] transmitting means for collectively transmitting to thecommunication client the SOAP response describing the content of theoperation response read by the gathering means and the SOAP requestdescribing the content of the operation request read by the gatheringmeans that are described together in the HTTP response to the HTTPrequest.

[0145] Also, the communication server of the present embodiment mayfurther include:

[0146] means for assigning priority information to the client requeststored in the first storage means and the server request stored in thesecond storage means; wherein

[0147] the response generating means is arranged to successively readthe client request from the first storage means, generate the operationresponse to said client request, and store the generated operationresponse in the first storage means according to the priorityinformation; and

[0148] the gathering means is arranged to successively read theoperation response to the client request from the first storage meansaccording to the priority information, and successively read the serverrequest from the second storage means according to the priorityinformation.

[0149] In another aspect of the present invention, a communicationserver control method for controlling the communication server of thepresent invention that is adapted to receive a communication requestfrom a communication client and transmit a communication response to thecommunication request to the communication client is provided.

[0150] In another aspect of the present invention, a medium that storesprograms for controlling a computer to function as the communicationserver of the present invention that is adapted to receive acommunication request from a communication client and transmit acommunication response to the communication request to the communicationclient is provided.

[0151] According to the communication server and communication servercontrol method of the present invention, communication efficiency can beimproved in the transmission/reception of an operation request and anoperation response to a received operation request performed between aplurality of communication apparatuses that are arranged to eithertransmit a communication request and receive a communication response tothis communication request or receive a communication request andtransmit a communication response to this communication request. Also,according to the medium storing the programs for controlling a computerto function as the communication server, features of the communicationserver of the present invention may be realized in the computer so thatthe advantageous effects of the present invention may be realized.

[0152] In another aspect of the present invention, a communicationsystem implementing the communication client and communication server ofthe present invention is provided, wherein the communication clienttransmits a communication request to the communication client andreceives a communication response to the communication request from thecommunication client.

[0153] In another aspect of the present invention, a communicationsystem control method for controlling the communication client andcommunication server of the present invention is provided, wherein thecommunication client transmits a communication request to thecommunication server and receives a communication response to thecommunication request from the communication server.

[0154] According to the communication system and communication systemcontrol method of the present invention, communication efficiency can beimproved in a communication system for realizing an exchange of anoperation request and an operation response to the operation requestbetween a plurality of communication apparatuses that are arranged toeither transmit a communication request and receive a communicationresponse to this communication request or receive a communicationrequest and transmit a communication response to this communicationrequest.

BRIEF DESCRIPTION OF THE DRAWINGS

[0155]FIG. 1 shows an exemplary configuration of a communication systemimplementing communication apparatuses according to an embodiment of thepresent invention;

[0156]FIGS. 2A and 2B illustrate a relation between an operation requestand an operation response in the communication system of FIG. 1;

[0157]FIG. 3 shows an exemplary configuration of a communication systemin an embodiment using HTTP as a communication protocol;

[0158]FIGS. 4A and 4B illustrate a relation between an operation requestand an operation response in the communication system of FIG. 3;

[0159]FIG. 5 illustrates an exemplary communication sequence in thecommunication system of FIG. 3;

[0160]FIG. 6 illustrates another exemplary communication sequence in thecommunication system of FIG. 3;

[0161]FIG. 7 shows an exemplary hardware configuration of an HTTP clientand an HTTP server shown in FIG. 3;

[0162]FIG. 8 is a block diagram illustrating an exemplary functionalconfiguration of the HTTP client shown in FIG. 3 for realizing processespertaining to a command and command response;

[0163]FIG. 9 shows an exemplary data configuration of a client commandsheet stored in a client command pool shown in FIG. 8;

[0164]FIG. 10 shows an exemplary data configuration of a server commandsheet stored in a server command pool shown in FIG. 8;

[0165]FIG. 11 shows an example of an HTTP request that is to betransmitted to the HTTP server by the HTTP client shown in FIG. 3;

[0166]FIG. 12 shows an example of an HTTP response from the HTTP serverreceived by the HTTP client shown in FIG. 3;

[0167]FIG. 13 shows an example of a part describing a client command;

[0168]FIG. 14 shows an example of a part describing a response to aclient command;

[0169]FIG. 15 shows an example of a part describing a server command;

[0170]FIG. 16 shows an example of a part describing a response to aserver command;

[0171]FIG. 17 is a flowchart illustrating a basic operation flow of amessage gathering and distributing process performed in the HTTP clientof FIG. 3;

[0172]FIG. 18 is a flowchart illustrating a more detailed process flowof steps S11-S14 of FIG. 17;

[0173]FIG. 19 is a flowchart illustrating a more detailed operation flowof the process steps S15 and onward of FIG. 17;

[0174]FIG. 20 is a flowchart illustrating an exemplary process flowpertaining to the execution of a server command that is performed in theHTTP client shown in FIG. 3;

[0175]FIG. 21 is a flowchart illustrating another exemplary process flowpertaining to the execution of the server command;

[0176]FIG. 22 is a block diagram illustrating an exemplary functionalconfiguration of the HTTP server shown in FIG. 3 for performingprocesses pertaining to the command and the command response;

[0177]FIG. 23 shows an exemplary data configuration of a server commandsheet that is to be stored in the server command pool of FIG. 22;

[0178]FIG. 24 shows an exemplary data configuration of a client commandsheet that is to be stored in the client command pool of FIG. 22;

[0179]FIG. 25 is a flowchart illustrating a basic operation flow of amessage gathering and distributing process performed in the HTTP serverof FIG. 3;

[0180]FIG. 26 is a flowchart illustrating a more detailed operation flowof the process steps S111˜115 in FIG. 25;

[0181]FIG. 27 is a flowchart illustrating a more detailed process flowof steps S116 and onward in FIG. 25;

[0182]FIG. 28 is a flowchart illustrating an example of a process flowpertaining to the execution of a client command that is performed in theHTTP server shown in FIG. 3;

[0183]FIG. 29 is a flowchart illustrating another exemplary process flowpertaining to the execution of the client command;

[0184]FIG. 30 is a block diagram showing an exemplary configuration of acommunication system in a reference example using SMTP as thecommunication protocol;

[0185]FIGS. 31A and 31B illustrate a relation between an operationrequest and an operation response in the communication system of FIG.30;

[0186]FIG. 32 shows an exemplary communication sequence in thecommunication system of FIG. 30;

[0187]FIG. 33 is a block diagram illustrating a functional configurationof a communication apparatus shown in FIG. 30 for performing theprocesses pertaining to a command and a command response;

[0188]FIG. 34 shows an exemplary electronic mail to be sent from onecommunication apparatus to another communication apparatus of thecommunication system shown in FIG. 30;

[0189]FIG. 35 is a flowchart illustrating a basic operation flow formessage transmission in the communication system of FIG. 30;

[0190]FIG. 36 is a flowchart illustrating a basic operation flow formessage reception in the communication sytem of FIG. 30; and

[0191]FIG. 37 illustrates another exemplary communication systemaccording to an embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0192] In the following, preferred embodiments of the present inventionare described with reference to the accompanying drawings.

[0193]FIG. 1 shows an exemplary configuration of a communication systemusing communication apparatuses according to an embodiment of thepresent invention.

[0194] As is shown in the drawing, this communication system includes anetwork 10 that establishes a connection between a first communicationapparatus 1 and a second communication apparatus 2 (i.e., nodes) eachcorresponding to a communication apparatus of the present invention.

[0195] For the first communication apparatus 1 and the secondcommunication apparatus 2, a computer such as a PC having communicationfunctions, or other various electronic apparatuses having communicationand information processing functions may be used. As for the network 10,the Internet, a LAN (local area network), or other various communicationroutes that enable network communication may be used regardless ofwhether it is wired or wireless.

[0196] The first communication apparatus 1 and the second communicationapparatus 2 implement various application programs for controlling andmanaging each other. The application programs may be stored in storagemeans and used to perform various processes of the communicationapparatuses 1 and 2. In the present embodiment, each node is arranged tosend to a counterpart node an ‘operation request’, which corresponds toa request for an execution of a method (process) of an applicationprogram implemented in the counterpart node, and acquire from thiscounterpart node an ‘operation response’, which corresponds to aprocessing result of the requested process, using RPC (remote procedurecall). In other words, the first communication apparatus 1 is capable ofgenerating a request to the second communication apparatus 2 (referredto as ‘first communication apparatus request’ hereinafter), transmittingthe first communication apparatus request to the second communicationapparatus 2, and acquiring a response to this request. The secondcommunication apparatus 2 is capable of generating a request to thefirst communication apparatus 1 (referred to as ‘second communicationapparatus request’ hereinafter), handing the second communicationapparatus request to the first communication apparatus 1, and acquiringa response to this request.

[0197] It is noted that in the present application, a method is definedas a logical function prescribing an input and output format. Thus, theoperation request corresponds to a procedure call for calling theprescribed function, and the operation response corresponds to theexecution result of the function called by the procedure call.

[0198]FIGS. 2A and 2B show a relation between the operation request andthe operation response.

[0199]FIG. 2A illustrates a case in which an operation request to thesecond communication apparatus 2 is generated at the first communicationapparatus 1. In this model, the first communication apparatus 1generates a first communication apparatus operation request and sendsthis to the second communication apparatus 2, and the secondcommunication apparatus 2 receiving this request sends back an operationresponse to this request.

[0200]FIG. 2B illustrates a case in which an operation request to thefirst communication apparatus 1 is generated at the second communicationapparatus 2. In this model, the second communication apparatus 2generates a second communication apparatus operation request and sendsthis to the first communication apparatus 1, and the first communicationapparatus 1 receiving this request sends back an operation response tothis request.

[0201] It is noted that in the present embodiment, SOAP (simple objectaccess protocol) is used as a protocol for transmitting the argument andreturn value of an RPC (to be described later), and the above-describedoperation request and operation response are referred to as SOAPdocuments.

[0202] The present invention is characterized in that, in an arrangementwhere a plurality of communication apparatuses transmit/receiveoperation requests and operation responses to received operationrequests to/from each other, as described above, for example, anoperation request that is to be sent to a communication counterpart(i.e., communication apparatus at the other end of the connection) andan operation response to an operation request received from thecommunication counterpart are combined and collectively sent.

[0203] In the present invention, a communication protocol fortransmitting an operation request or an operation response is used. Forexample, HTTP (HyperText transfer Protocol) or SMTP (Simple MailTransfer Protocol) may be used as the communication protocol dependingon the configuration of the communication system. It is noted that acommunication system using SMTP may not transmit/receive a communicationrequest and a corresponding communication response in one connection asin a communication system using HTTP.

[0204] Thus, first, an embodiment using HTTP as the communicationprotocol will be described, and then a case of using SMTP as thecommunication protocol will be described as a reference example.

[0205] [Embodiment Using HTTP: FIGS. 3˜21]

[0206]FIG. 3 shows an exemplary configuration of a communication systemaccording to an embodiment using HTTP.

[0207] As is shown in the drawing, this communication system includes anHTTP server 12, an HTTP client 11, and Internet 13 that interconnectsthe HTTP server 12 and the HTTP client 11. The HTTP client 11 isconnected to the Internet 13 via a firewall 14 to ensure security. TheHTTP server 12 corresponds to the communication server or the firstcommunication apparatus, and the HTTP client corresponds to thecommunication client or the second communication apparatus.

[0208] In performing communication using HTTP, the firewall 14 preventsa node stationed outside to freely access a node stationed within thefirewall 14, and data is sent to the node within as a communicationresponse (HTTP response) to a communication request (HTTP request) sentfrom this node. In this communication system, the HTTP client 11corresponds to the node stationed within the firewall 14 and the HTTPserver 12 corresponds to the node stationed outside the firewall 14.However, in implementations other than the communication between thenodes, these nodes are not limited to functioning as a server or aclient.

[0209] Also, as in the first communication apparatus 1 and the secondcommunication apparatus 2 shown in FIG. 1, the HTTP server 12 and theHTTP client 11 implement application programs to control and manage eachother. Further, using RPC (remote procedure call), the HTTP server 12and the HTTP client 11 are capable of sending to each other an‘operation request’ corresponding to a call to perform a method(process) of an application program implemented at the other side (i.e.,the receiver of the ‘operation request’), and acquiring an ‘operationresponse’ corresponding to the processing result of this ‘operationrequest’.

[0210]FIGS. 4A and 4B illustrate a relation between the operationrequest and the operation response according to this embodiment.

[0211]FIG. 4A illustrates a case in which an operation request to theHTTP server 12 is generated at the HTTP client 11. In this model, theHTTP client 11 generates a client operation request (also referred toherein as ‘client command’) and sends this request to the HTTP server12, and the HTTP server 12 receiving this request sends back anoperation response to this command (this response also being referred toherein as ‘command response’ or simply ‘response’).

[0212]FIG. 4B illustrates a case in which an operation request to theHTTP client 11 is generated at the HTTP server 12. In this model, theHTTP server 12 generates a server operation request (also referred toherein as ‘server command’) and sends this request to the HTTP client11, and the HTTP client 11 receiving this command sends back anoperation response to this command.

[0213] As is described above, in the RPC level, the operation requestand the operation response are equally handled both at the HTTP client11 side and the HTTP server 12 side. However, in the communicationlevel, this is not the case; namely, one side is arranged to send anHTTP request whereas the other side is arranged to send an HTTPresponse.

[0214]FIG. 5 illustrates an exemplary communication sequence in thecommunication system according to the present embodiment.

[0215] As is shown in the drawing, in this communication system, theHTTP client 11 is arranged to send an HTTP request to the HTTP server 12as a communication request, and the HTTP server 12 is arranged to sendback an HTTP response to the HTTP client 11 as a communication responseto the communication request. For example, the HTTP client 11 may sendan HTTP request X and the HTTP server 12 may respond by sending back anHTTP response X, or similarly, the HTTP client 11 may send an HTTPrequest Y and the HTTP server 12 may respond by sending back an HTTPresponse Y.

[0216] In the illustrated exemplary embodiment, an HTTP request of acommunication sequence may include, a client command corresponding to anoperation request to be sent from the HTTP client 11 to the HTTP server12 and/or a response to a server command that has been sent from theHTTP server 12 to the HTTP client 11 (command response). Similarly, anHTTP response may include, a server command corresponding to anoperation request to be sent from the HTTP server 12 to the HTTP client11 and/or a response to a client command that has been sent from theHTTP client 11 to the HTTP server 12 (command response).

[0217] For example, in FIG. 5, a client command A to be sent from theHTTP client 11 to the HTTP server 12 is described in the HTTP request X,and a corresponding command response to the client command A isdescribed in the HTTP response X to the HTTP request X. On the otherhand, a server command C to be sent from the HTTP server 12 to the HTTPclient 11 is described in the HTTP response X to the HTTP request X, anda corresponding command response to the server command C is described inan HTTP request Y.

[0218] Also, in the case of FIG. 4A, the HTTP client 11 is able toestablish a connection with the HTTP server 12 immediately after aclient command is generated to include the generated command in an HTTPrequest and transmit this to the HTTP server 12. However, in the case ofFIG. 4B, the firewall 14 implemented at the HTTP client 11 side blocksan HTTP request from the HTTP server 12 side and, therefore, the HTTPserver 12 is unable to establish a connection with the HTTP client 11 totransmit a generated server command right away.

[0219] It is also noted that any number (including 0) of client commandsand responses to server commands may be described in one HTTP request,and any number (including 0) of server commands and responses to clientcommands may be described in one HTTP response. The contents describedin one HTTP request or HTTP response are logically transferred in onebundle.

[0220] In this way, the number of connections required in transmittinginformation may be reduced so that communication overhead is reduced andcommunication efficiency is enhanced.

[0221]FIG. 6 illustrates another exemplary communication sequence in thecommunication system according to the present embodiment.

[0222] In FIG. 5, a very simple sequence example has been given in orderto simplify the explanation. In FIG. 6, an example is given in which thenumber of commands and command responses described in each HTTP requestor HTTP response is varied.

[0223] In the example of FIG. 6, a response to a received command may besent back at the first transmission opportunity or any transmissionopportunity thereafter. For example, a client command B shown in FIG. 6is described in a HTTP request X′, but the corresponding commandresponse to the client command B is not described in the HTTP responseX′ of the HTTP request. Instead, the command response is described in asubsequent HTTP response Y′.

[0224] As will be appreciated, the above may apply to the server commandas well. Thus, a command response to a server command described in anHTTP response may be described in any HTTP request that is transmittedafter the reception of this HTTP response.

[0225] It is noted that each command and command response is generatedindependently and, thus, when one or more commands and/or commandresponses are to be processed together to be transferred in one bundleas described above, these commands and/or command responses are combinedfor the transmission. Then, after transmission, a separation process isperformed on the combined commands and/or command responses.

[0226] In the following, a hardware configuration of the HTTP client 11and the HTTP server 12, a functional configuration for realizing theabove described processes, and procedural steps for realizing theprocesses will be described.

[0227]FIG. 7 shows an exemplary hardware configuration of the HTTPclient 11 and HTTP server 12.

[0228] As is shown in the drawing, each HTTP client 11 and HTTP server12 includes a CPU 31, a ROM 32, a RAM 33, a flash memory 34, a networkinterface card (NIC) 35, and a system bus 36 interconnecting the aboveelements.

[0229] The CPU 31 corresponds to control means for realizing overallcontrol over the HTTP client 11 and HTTP server 12 using a controlprogram stored in the ROM 32. The ROM 32 is a read only memory storingvarious sets of fixed data including the control program used by the CPU31.

[0230] The RAM 33 is a temporary storage memory used as a working memoryfor the CPU to perform data processing, for example. The flash memory 34is a nonvolatile memory that is able to retain its stored contents evenwhen the power of the apparatus is turned off. The NIC 35 corresponds tocommunication means for transmitting/receiving information to/from acommunication counterpart via a network such as the Internet 13.

[0231]FIG. 8 is a block diagram illustrating a functional configurationof the HTTP client 11 for realizing processes pertaining to commands andcommand responses.

[0232] Of the functions shown in FIG. 8, a client command pool 41 and aserver command pool 42 are implemented in any rewritable storage meansof the HTTP client 11. Client command generating means 43, servercommand execution result generating means 44, outgoing message gatheringmeans 45, and received message distributing means 48 are realized by theCPU 31. Also, HTTP request transmitting means 46 and HTTP responsereceiving means 47 are realized by the CPU 31 and the NIC 35.

[0233] In the following, further details of the above functions aredescribed.

[0234] The client command pool 41 corresponds to a second storage areaimplemented in the HTTP client 11, and registers a client command, aresponse to this command, and identification information of this commandin association with each other. The server command pool 42 correspondsto a first storage area implemented in the HTTP client 11, and registersa server command, a response to this command, and identificationinformation of this command in association with each other. The clientcommand pool 41 and server command pool 42 are arranged to store acommand sheet adapted into a table format for each command, wherein thecommand and information pertaining to the command such as itsidentification information and its corresponding response are associatedwith each other.

[0235] The client command generating means 43 corresponds to requestgenerating means. This client command generating means 43 has functionsof generating a client command, assigning identification information(ID) for identifying this command, attaching management information formanaging this command, and registering in the client command pool 41 theabove information in association with each other as a client commandsheet in a table format. Generating the client command in the clientcommand generating means 43 may be based on an application programimplemented in the HTTP client 11, for example. The client commandgenerating means 43 may have a function of prioritizing the execution ofthe generated client commands in administering the HTTP server 12 toexecute the commands.

[0236]FIG. 9 shows an exemplary data configuration of the client commandsheet of the HTTP client 11 illustrated in FIG. 8.

[0237] As is shown in this drawing, in the client command sheet of theHTTP client 11, areas for storing data corresponding to a ‘command ID’,a ‘method name’, an ‘input parameter’, a ‘status’, a ‘client commandexecution result notifying destination’, and ‘output parameter’ areprovided. Herein, the ‘command ID’, the ‘method name’, and the ‘inputparameter’ correspond to the client command (and the ID attachedthereto), and the ‘status’, and the ‘client command execution resultnotifying destination’ correspond to the management information. The‘output parameter’ corresponds to the content of the command responsereceived from the HTTP server 12.

[0238] In the following, a specific description of each of the aboveitems is given.

[0239] First, the ‘method name’ corresponds to the specific content ofthe request being made to the HTTP server 12, and indicates the type offunction to be called at the HTTP server 12. The ‘input parameter’corresponds to data accompanying the ‘method name’, and indicates theargument for calling the function. The ‘command ID’ corresponds toidentification information for identifying the client command. The‘status’ corresponds to data indicating the progress of the processrelating to the client command, and changes from ‘nottransmitted’→‘waiting for response’→‘response received’ according to theprogress of the process.

[0240] When the response to the client command described in the clientcommand sheet is received, this is notified to a module corresponding tothe ‘client command execution result notifying destination’. The modulebeing referred to as the ‘client command execution result notifyingdestination’ usually corresponds to the application program that hasgenerated the client command; however, this is not always the case. Asfor the ‘output parameter’, a content of the command response is storedat the time the command response is received. This item is left blankuntil the command response is received from the HTTP server 12.

[0241] Referring back to FIG. 8, the server command execution resultgenerating means 44 corresponding to response generating means is anapplication program that reads a server command from the server commandpool 42. This server command execution result generating means 44 hasfunctions of generating a response to a server command, and registeringin the server command pool 42 the generated response to this servercommand in association with the command ID of this server command. Theserver command received from the HTTP server 12 is arranged to be storedin the server command pool 42 as a server command sheet in a tableformat in association with the ID for identifying this command andmanagement information for managing this command. Thus, the commandresponse generated by the server command execution result generatingmeans 44 is also registered in the server command sheet of thecorresponding server command.

[0242] The server command execution result generating means 44 may beprovided with a function of reading a plurality of server commands fromthe server command pool 42. In the case where the server commandsinclude priority information for the HTTP client 11 to prioritize theexecution of their respective processes, the server command executionresult generating means 44 may be provided with a function of readingand executing the respective processes according to the order ofpriority starting, for example, with the server command having thehighest priority.

[0243] Also, it is noted that the server command execution resultgenerating means 44 may correspond to an application program, or mayinstead correspond to a module that administers the execution of thecommand by calling the appropriate application program for executing theserver command, for example.

[0244]FIG. 10 shows an exemplary data configuration of a server commandsheet in the HTTP client 11

[0245] As is shown in the drawing, the server command sheet of the HTTPclient 11 includes areas for storing data corresponding to a ‘commandID’, a ‘method name’, an ‘input parameter’, a ‘status’, an ‘outputparameter’, and a ‘server command notifying destination’. The ‘commandID’, the ‘method name’, and the ‘input parameter’ correspond to theserver command (and ID attached thereto), the ‘status’ and the ‘servercommand notifying destination’ correspond to the management information.The ‘output parameter’ corresponds to the server command executionresult, which indicates the content of the command response that theHTTP client 11 sends back in response to the server command.

[0246] In the following, each of the above items is described in greaterdetail.

[0247] First, the ‘method name’ corresponds to the content of therequest being made to the HTTP client 11, and indicates the type offunction being called in the HTTP client 11. The ‘input parameter’corresponds to accompanying data of the ‘method name’, and indicates theargument for calling the function. The ‘command ID’ corresponds toinformation for identifying the server command. The ‘status’ correspondsto data indicating the progress of the process pertaining to the servercommand, and changes from ‘not processed’→‘process complete’+‘responsemade’ according to the progress of the process. The ‘output parameter’stores the response generated by the server command execution resultgenerating means 44. This item is left blank until the ‘status’ reaches‘process complete’. The ‘server command notifying destination’corresponds to reference information (e.g., address) of the modulerealizing the execution of the server command.

[0248] Now, referring back to FIG. 8, the outgoing message gatheringmeans 45 corresponds to request gathering means for reading from theserver command pool 42 a command response generated by the servercommand execution result generating means 44 that is registered inassociation with the command ID of the server command corresponding tothis command response, as well as reading from the client command pool41 a client command generated by the client command generating means 43that is registered in association with the command ID of this command,and generating an outgoing message from the read data.

[0249] When execution priority information is assigned to the commandresponses and/or the client commands, the outgoing message gatheringmeans 45 may be arranged to read the command responses and/or clientcommands according to the order of execution priority.

[0250] An outgoing message describes a command response or clientcommand and the corresponding command ID as a SOAP message using the XML(extensible Markup Language) format, which is a structured languageformat. Thus, the outgoing message gathering means 45 generates a SOAPmessage as an outgoing message for each command response or clientcommand. In such case, the corresponding command ID of each command isdescribed in a SOAP header and the command response or the content ofthe client command is described in a SOAP body. In a communication usingSOAP, a message called SOAP envelope that includes the SOAP headerdescribing the command ID and the SOAP body describing accessoryinformation is described using the XML format and exchanged using aprotocol such as HTTP.

[0251] The outgoing message gathering means 45 may generate a SOAPmessage from a command response or client command by implementing anappropriate conversion program (serializer) that is generated based onWSDL (Web Service Description Language), and serializing the read data.

[0252] The HTTP request transmitting means 46 corresponds totransmitting means for generating an HTTP request containing theoutgoing message generated by the outgoing message gathering means 45,and transmitting the HTTP request to the HTTP server 12. It is notedthat any number of outgoing messages may be contained in an HTTPrequest, and also, outgoing messages corresponding to command responsesand outgoing messages corresponding to client commands may beintermingled in the HTTP request on an arbitrary basis.

[0253] The HTTP request transmitting means 46 is adapted to include theoutgoing messages generated by the outgoing message gathering means 45in one (or more) HTTP request for transmission to the HTTP server 12without regard to whether the outgoing messages correspond to a commandresponse or a client command. It is also possible to set a limit to thenumber of outgoing messages included in one HTTP request, as will beappreciated.

[0254] It is noted that once the outgoing message gathering means 45undertakes reading a client command or command response, thetransmission of the HTTP request is performed even when there is no datato be read and consequently no outgoing messages are generated. That is,the outgoing message gathering means 45 periodically makes an attempt toread a command response or client command. For example, the readoutoperation may be performed every 60 minutes based on a timer.

[0255] The above arrangement is made because the HTTP server 12 isunable to send information to the HTTP client 11 unless the HTTP client11 makes a communication request to the HTTP server 12 as describedearlier. Thus, even when there is no data to be sent from the HTTPclient 11, the HTTP client 11 is arranged to periodically send acommunication request to the HTTP server 12 to give the HTTP server 12an opportunity to send information to the HTTP client 11 so thatinformation to be transmitted to the HTTP client 11 is prevented fromremaining in the HTTP server 12 over a long period of time.

[0256] It is noted that the outgoing message gathering means 45 is ableto perform the readout operation at a suitable timing aside from thedesignated periodic readout timing. For example, when informationrequiring urgent transmission is registered in one of the client commandpool 41 or server command pool 42, the client command generating means43 or the server command execution result generating means 44 may notifythis to the outgoing message gathering means 45 so that the informationcan be readout.

[0257] The HTTP response receiving means 47 corresponds to receivingmeans for acquiring an HTTP response from the HTTP server 12. In theHTTP response, any number of receiving messages may be included. Thereceiving message may describe a server command and the command IDassociated with this command or a response to a client command and thecommand ID associated with this command, and the two types of receivingmessages may be intermingled in the HTTP response as necessary ordesired on an arbitrary basis.

[0258] The receiving message describes the command or response and thecorresponding command 1D as a SOAP message.

[0259] The received message distributing means 48 corresponds todistributing means for allocating and registering the data contained inthe HTTP response received by the HTTP response receiving means 47 intothe server command pool 42 and client command pool 41, respectively.

[0260] The server command and the command ID associated with thiscommand are registered in a server command sheet provided in the servercommand pool 42. As for the response to a client command, the command IDassociated with this command is collated with the command ID of eachclient command sheet stored in the client command pool 41 so as todetermine the corresponding client command of the command response, andthis command response is registered as the ‘output parameter’ of thecorresponding client command.

[0261] The HTTP response is resolved into the respective receivingmessages, and each receiving message included in this HTTP response isextracted so that data described therein is converted into a formatsuitable for registration in the table. This conversion may be realizedby implementing an appropriate conversion program (parser) that isgenerated based on WSDL.

[0262]FIG. 11 shows an example of an HTTP request that is to betransmitted to the HTTP server 12 by the HTTP client 11 having theabove-described functions.

[0263] As is shown in the drawing, this HTTP request has a body portionthat describes a multipart message using MIME (Multipurpose InternetMail Extension). In each part making up the multipart message an entityheader is described and a SOAP message is embedded. In the example ofFIG. 11, the HTTP body of the HTTP request is made up of independentparts 1˜4 that are divided from each other by a ‘MIME_boundary’;however, it is noted that the number of parts described in an HTTP bodyis not limited to four, and any number of parts (including 0) may bedescribed.

[0264] It is also noted that the SOAP envelope embedded in the HTTPrequest to be transmitted to the HTTP server 12 may describe a clientcommand or a response to a server command.

[0265]FIG. 12 shows an example of an HTTP response received by the HTTPclient 11 from the HTTP server 12.

[0266] As is shown in the drawing, the structure of the HTTP response isidentical to that of the HTTP request shown in FIG. 11 except for theHTTP header. The body portion of the HTTP response is identical to theHTTP request and describes SOAP envelopes of a multipart message that isin accordance with MIME. It is noted that the content of the SOAPenvelope varies depending on the content of the command or commandresponse being described.

[0267] It is noted that the SOAP envelope embedded in the HTTP responseto be transmitted to the HTTP client 11 may describe a server command ora response to a client command.

[0268] In the following, specific examples of the parts in the HTTPrequest or HTTP response are described with reference to FIGS. 13-16.

[0269]FIG. 13 shows an example of a part describing a client command.

[0270] In this example, ‘SOAPAction’ described in the entity headerportion indicates that the data described in this part corresponds to aSOAP envelope describing a command. ‘X-SOAP-Type: Request’ alsoindicates this information. Also, a URI (Uniform Resource Identifier)described after ‘SOAPAction’ includes the word ‘server’ so as toindicate that the data described in this part corresponds to a SOAPenvelope describing a command to a server, namely, a client command.

[0271] Under the <Envelope> tag, addresses defining namespaces areindicated as attributes of the ‘Envelope’ tag. Also, in this example,unique namespaces are defined in addresses ‘http://www.foo.com/header’and ‘http://www.foo.com/server’ in addition to the namespaces defined asthe norm in SOAP. Thus, a namespace prefix ‘n’ attached to an XML tagindicates that the address ‘http://www.foo.com/header’ is to be referredto, and a namespace prefix ‘ns’ attached to an XML tag indicates thatthe address ‘http://www.foo.com/server’ is to be referred to inacquiring the structures of these XML tags and definitions of data to betransferred.

[0272] In the ‘SOAP header’, ‘12345’ corresponding to the ID of thisclient command is described as the content of the ‘request ID’ XML tag.In the ‘SOAP body’, a ‘trouble notification’ tag is described asinformation indicating the method stored in the ‘method name’ of theclient command sheet, and the argument and other information stored inthe ‘input parameter’ of the client command sheet are described aselements of subordinate tags such as an ‘error ID’ tag and a‘description tag’. In this example, the notification content of thetrouble notification is described.

[0273]FIG. 14 shows an example of a part describing a response to aclient command.

[0274] In this example, ‘X-SOAP-Type: Response’ is described in theentity header portion to indicate that the data described in this partcorresponds to a SOAP envelope describing a command response.

[0275] The definitions of namespaces in this example are identical tothose of the previous example shown in FIG. 13. Further, in the ‘SOAPheader’, ‘12345’ corresponding to the ID of the client command to whichthe response has been generated is described as the content of the‘command ID’ XML tag. In the ‘SOAP body’, a ‘trouble notificationResponse’ tag for indicating that the part describes a response to the‘trouble notification’ command is described, and the content of thecommand response is described in a subordinate tag and its tag element.In this example, information indicating the fact that the troublenotification has been properly received is described.

[0276]FIG. 15 shows an example of a part describing a server command.

[0277] As in the example of FIG. 13, the information ‘SOAPAction’ and‘X-SOAP-Type: Request’ described in the entity header portion of thispart indicates that the data described in this part corresponds to aSOAP envelope describing a command. In this example, a URI (UniformResource Identifier) described after ‘SOAPAction’ includes the word‘client’ indicating that the data described in this part corresponds toa SOAP envelope describing a command to a client, namely, a servercommand.

[0278] Under the <Envelope> tag, addresses defining namespaces areindicated as attributes of the ‘Envelope’ tag, and in this example,unique namespaces are defined in addresses ‘http://www.foo.com/header’and ‘http://www.foo.com/client’ in addition to the namespaces defined asthe norm in SOAP.

[0279] In the ‘SOAP header’, ‘98765’ corresponding to the ID of thisserver command is described as the content of the ‘command ID’ XML tag.Also, in the SOAP body, a ‘temperature sensor value acquisition’ tag isdescribed as information indicating the method stored in the ‘methodname’ of the server command sheet, and the argument or some otherinformation stored in the ‘input parameter’ of the server command sheetis described as an element of a subordinate tag ‘sensor ID’. In thisexample, the ID of the sensor from which the sensor value is to beacquired is described

[0280] Further, it is noted that the server may send such a command tothe client when it receives a trouble notification from the client, forexample, in which case the server may try to determine the cause of thetrouble.

[0281]FIG. 16 shows an example of a part describing a response to aserver command.

[0282] As in the example of FIG. 14, ‘X-SOAP-Type: Response’ isdescribed in the entity header portion of this part to indicate that thedata described in this part corresponds to a SOAP envelope describing acommand response.

[0283] Also, as in the example of FIG. 15, ‘98765’ corresponding to theID of the server command to which this response is generated isdescribed in the ‘SOAP header’ of this part as the content of the‘command ID’ XML tag. In the SOAP body, a ‘temperature sensor valueacquisition Response’ tag indicating that the part indicates theresponse to the ‘temperature sensor value acquisition’ command isdescribed, and the content of the server command response is describedin a subordinate tag and its tag element. In this example, temperaturevalue information provided by the sensor to which the value acquisitionrequest has been made is described.

[0284] In the following, processes performed by the HTTP client 11having the above-described configurations and functions are describedwith reference to flowcharts shown in FIGS. 17˜21. It is noted that theprocesses illustrated in these flowcharts may be realized by the CPU 31,for example, which executes the appropriate control programs, as will beappreciated.

[0285] First of all, FIG. 17 shows a flowchart illustrating a basicoperation flow of a message gathering and distributing process.

[0286] The CPU 31 of the HTTP client 11 starts the process illustratedby the flowchart of FIG. 17 when it is time for the outgoing messagegathering means 45 to undertake readout of a client command and/orcommand response.

[0287] According to this process flow, first, a client command gatheringprocess is performed (S11). This corresponds to a process of gatheringfrom the client command pool 41 client commands that are to betransmitted to the HTTP server 12, and also includes a process ofgenerating from the gathered data parts containing respective SOAPenvelopes

[0288] Next, a server command execution result gathering process isperformed (S12). This corresponds to a process of gathering from theserver command pool 42 command responses that are to be transmitted tothe HTTP server 12, and also includes a process of generating from thegathered data parts containing respective SOAP envelopes

[0289] Then, the parts generated in the processes of steps S11 and S12are merged so that an HTTP request containing these parts is generated(S13). This HTTP request is then sent to the HTTP server 12 (S14).

[0290] With regard to the processes up to this point, the CPU 31functions as the outgoing message gathering means 45 in steps S11 andS12, and as the HTTP request transmitting means 46 in steps S13 and S14.

[0291] Next, an HTTP response as a communication response to the HTTPrequest is received from the HTTP server 12 (S15). Then, the HTTP bodyof the received HTTP response is divided into parts (S16). Thiscorresponds to a process of dividing the HTTP body into components thatare separated from each other by a ‘MIME_boundary’.

[0292] Then, a sequence of processes corresponding to steps S17-S19 issuccessively performed for each of the divided parts. In this processsequence, first, it is determined whether a part subjected to theprocess describes a server command (S17). Then, if it is determined thatthe part describes a server command, a server command registrationprocess is performed (S18). If it is determined that the part does notdescribe a server command, this means that the part describes a responseto a client command and, thereby, a response notification process isperformed (S19).

[0293] After performing either step S18 or S19, the process goes back tostep S17, and the process sequence is repeated for a next part that issubjected to the process. Thus, the process sequence of steps S17-S19 isperformed for each of the divided parts, and the process flow shown inFIG. 17 ends when this is completed.

[0294] With regard to the processes up this point, the CPU 31 functionsas the HTTP response receiving means 47 in steps S15 and S16, and as thereceived message distribution means 48 in steps S17˜S19.

[0295] In the following, the operation flow of FIG. 17 is describedfurther using flowcharts each illustrating portions of the operationflow in greater detail.

[0296]FIG. 18 is a flowchart illustrating a more detailed process flowof steps S11˜S14 in FIG. 17.

[0297] According to this process flow, first, the CPU 31 of the HTTPclient 11 gathers from the client command pool 41 contents of the‘method name’ and ‘input parameter’ of the client command sheetsindicating ‘not sent’ for the ‘status’ as client commands to be sent tothe HTTP server 12, and also gathers contents of the ‘command ID’ as IDsof the gathered client commands (S21). It is noted that when ‘not sent’is indicated as the ‘status’, this means that a command generated by theclient command generating means 43 has not yet been sent to the HTTPserver 12. Thus, commands to be sent to the HTTP server 12 can beextracted based on this information.

[0298] Then, a process sequence corresponding to steps S22˜S24 issuccessively performed on each of the client commands gathered in stepS21. In this process sequence, first, a client command and itscorresponding command ID that are subjected to the process are convertedinto an XML text in which information on the client command and thecommand ID are included in a SOAP body and a SOAP header, respectively(S22). Accessory information is attached to the XML text to generate aSOAP envelope corresponding to a part describing the subjected command(S23). Then, the ‘status’ of the client command sheet describing thesubjected client command is changed from ‘not sent’ to ‘waiting forresponse’ (S24). When the ‘status’ of the client command sheet isindicated as ‘waiting for response’, this means that the describedcommand has been sent to the HTTP server 12.

[0299] After the process sequence is performed on each of the gatheredclient commands, the CPU 31 gathers the contents of the ‘outputparameter’ of server command sheets of which the ‘status’ is indicatedas ‘process complete’ as command responses to server commands that areto be transmitted to the HTTP server 12, and also gathers the contentsof the ‘command ID’ as IDs of the server commands corresponding to thegathered responses (S25). When the ‘status’ is indicated as ‘processcomplete’, this means that the response corresponding to the servercommand that is generated by the server command execution resultgenerating means 44 has not yet been sent to the HTTP server 12. Thus,the command responses to be transmitted to the HTTP server 12 can beextracted based on this information.

[0300] Then, a process sequence corresponding to steps S26˜S28 issuccessively performed on each of the command responses gathered in stepS25. This process sequence includes converting a subjected commandresponse and the corresponding command ID gathered therewith into an XMLtext that describes information on this command response and thecorresponding command ID in a SOAP body and a SOAP header, respectively(S26), attaching accessory information to the XML text and generating aSOAP envelope corresponding to a part describing the subjected commandresponse (S27). This process sequence is identical to that of steps S22and S23 except for the difference in the data items being subjected tothe processes. Next, the ‘status’ of the server command sheet describingthe subjected command response is changed to ‘response made’ (S28). When‘response made’ is indicated as the ‘status’, this means that thecommand response has been sent to the HTTP server 12.

[0301] After the completion of the processes described above, the CPU 31merges the parts generated in steps S23 and S27, generates a multipartHTTP request as shown in FIG. 11, and sends this to the HTTP server 12(S29).

[0302] It is noted that the changing of the ‘status’ in steps S24 andS28 may be performed after the transmission of data is actuallycompleted.

[0303] In this way, the processes pertaining to the transmission of theHTTP request are completed, and the operation moves on to steps S15 ofFIG. 17.

[0304]FIG. 19 is a flowchart illustrating a more detailed operation flowof FIG. 17 for the processes of steps S15 and onward. The process stepfollowing step S29 of FIG. 18 corresponds to step S31 in this drawing.

[0305] According to this process flow, first, the CPU 31 of the HTTPclient 11 awaits the arrival of an HTTP response to the transmitted HTTPrequest, and then receives the HTTP response from the HTTP server 12(S31). Upon receiving the HTTP response, the CPU 31 analyzes its HTTPbody and divides it into parts (S32).

[0306] Then, a process sequence corresponding to steps S33˜S39 issuccessively performed on each of the divided parts.

[0307] In this process sequence, first, it is determined whether a partsubjected to the process corresponds to a server command (S33). As isdescribed above, a server command and a response to a client command maybe included in the HTTP response and, thus, a determination of whether apart corresponds to a server command or a response to a client commandis made. This determination is made based on whether a ‘SOAPAction’header is described in the part, or the determination may be made basedon the content of the ‘X-SOAP-Type’ header.

[0308] Then, when it is determined in step S33 that the part does notcorrespond to a server command, this means that the part describes aresponse to a client command. In this case, the XML text describing thepart is analyzed and converted into data suitable for registration inthe client command sheet (S34). Then, a client command corresponding tothis response is searched from the client command pool 41, and thecommand response data is registered in the item ‘output parameter’ ofthe client command sheet of the corresponding client command (S35). Itis noted that a command ID identical to the information indicated as the‘command ID’ in the transmitted client command is attached to thecommand response and, thus, the search for the client command in stepS35 may be conducted using this information as a key.

[0309] After the registration of the command response data is completedthe ‘status’ of the client command sheet is changed to ‘responsereceived’ (S36). Then, the fact that a response has been received isnotified to a destination registered in the ‘client command executionresult notifying destination’ (S37). With this notification, anapplication program such as that for generating the client command maybe informed that a response to the generated command has been received,and may perform the appropriate processes according to the response.

[0310] For example, when an application program for generating a troublenotification generates a client command to send a trouble notificationto the HTTP server 12, this command is sent to the HTTP server 12, andthe HTTP server 12 may send back a command response indicating that thecommand has been properly received. Then, the HTTP client 11 receivingthis command response may search the client command corresponding tothis command response based on the command ID included in the receivedcommand response, and register this command response in association withthe searched out client command. Then, the application program forgenerating the trouble notification that is registered as the commandexecution result notifying destination of this command is notified ofthe fact that a response to this command has been received. Theapplication program for receiving this notification may refer to theclient command sheet and acquire the execution result of the generatedcommand from the item ‘output parameter’ of this client command sheet.

[0311] After the processes up to step S37 are completed for thesubjected part, the same processes starting from step S33 are repeatedfor a next part if such part exists.

[0312] On the other hand, when it is determined in step S33 that thesubjected part corresponds to a server command, the XML text describingthe part is analyzed and converted into data suitable for registrationin the server command sheet (S38). Then a server command sheet for thisserver command is created and this server command sheet containing theserver command and its corresponding command ID is registered in theserver command pool 42 (S39). The content of the server command isregistered in the items ‘method name’ and ‘input parameter’ of theserver command sheet, and the command ID described in the part isregistered in the item ‘command ID’ of the server command sheet. In theitem ‘server command notifying destination’, reference information tothe application program with which the method registered in the ‘methodname’ is executed, for example, is registered, this referenceinformation being determined based on correspondence information betweena method and an application program, for example, that is providedbeforehand. It is noted that the initial value of the ‘status’corresponds to ‘not processed’, and the initial value of the ‘outputparameter’ corresponds to ‘NULL’.

[0313] After the processes up to step S39 are completed for thesubjected part, the same processes starting from step S33 are repeatedfor a next part if such part exists.

[0314] Thus, the process flow illustrated in FIG. 19 ends after theprocess sequence from step S33 to step S39 is performed on each of theparts contained in the HTTP response received in step S31.

[0315] By performing the above-described processes, the HTTP client 11is able to send to the HTTP server 12 an operation request to betransmitted to the HTTP server 12 together with an operation response toan operation request received from the HTTP server 12 in one bundle.Also, the HTTP client 11 is able to receive from the HTTP server 12 anoperation request sent by the HTTP server 12 together with an operationresponse to the operation request that has been sent to the HTTP server12 in one bundle.

[0316] It is noted that in the present embodiment, the parts to betransmitted are generated and merged together before they aretransmitted, and the parts are received as a whole after which they aredivided into parts for further processing; however, it will beappreciated that the present invention is not limited to thisarrangement.

[0317] For example, in the transmission stage, the HTTP header may firstbe transmitted, after which the ensuing parts are successivelytransmitted each time they are generated, and notification data may besent after the transmission of the parts is completed. Even in sucharrangement, as long as the data transmitted during this stagecorrespond to a logical succession of data belonging to one HTTP requesthaving one HTTP header, the transfer of data can be realized in onesession with one negotiation process. Thus, an effect similar to thatfrom merging the parts together before transmitting the HTTP request canbe obtained in this embodiment as well. Further, since the requiredmemory capacity of the buffer for storing data to be transmitted can bereduced in this embodiment, a low cost communication apparatus can bearranged to handle a large quantity of data.

[0318] Also, at the receiving side, the processes for each part may besuccessively performed each time a part is received. As in thetransmission, the required memory capacity can be reduced according tothis embodiment.

[0319] In the following, processes pertaining to the execution of aserver command will be described.

[0320]FIG. 20 is a flowchart illustrating an example of such processes.

[0321] The process steps of FIG. 20 pertaining to the execution of aserver command are performed after step S39 of FIG. 19. Namely, thesesteps may be performed after the server command is registered in theserver command pool 42. Herein, the CPU 31 of the HTTP client 11functions as the server command execution result generating means 44.

[0322] In this process flow, first, an application program or some othersuitable means for executing the server command is called based on theinformation corresponding to the ‘server command notifying destination’of the server command sheet describing the registered server command,and data corresponding to the ‘method name’ and ‘input parameter’ aretransferred to the application program so that a process pertaining tothe server command is performed (S41). Although it is not shown in thisflowchart, the process pertaining to the server command is executed bythe CPU 31 using a different thread.

[0323] After this process step is completed, the execution result isregistered in the item ‘output parameter’ of the server command sheet(S42). At the same time, the ‘status’ of the server command sheet ischanged to ‘process complete’ which indicates that the process iscompleted (S43). Then, the operation goes back to the process flow ofFIG. 19, namely, to step S33, if appropriate, or to end the operation ofthe HTTP client 11.

[0324] By means of the process steps of FIG. 20, the server command maybe executed and appropriate measures may be taken so that the executionresult of the server command can be sent to the HTTP server 12 as thecommand response.

[0325]FIG. 21 is a flowchart illustrating another exemplary process flowpertaining to the execution of the server command that is performedindependently from the process flow of FIG. 19. Herein, the CPU 31 ofthe HTTP client 11 also functions as the server command execution resultgenerating means 44 as in the example of FIG. 20.

[0326] In performing the process steps of FIG. 21, the CPU 31 initiatesthe process at suitable timings such as at intervals of a predeterminedtime period or after a predetermined time period passes from the time anHTTP response is received.

[0327] When the process of FIG. 21 is started, a server command sheet ofwhich the ‘status’ is indicated as ‘waiting for process’ is extractedfrom the server command pool 42 to be subjected to the subsequentprocesses, and the ‘status’ of its command sheet is changed to‘processing’ (SX). Although it is not shown, if a server command sheetof which the ‘status’ is indicated as ‘waiting for process’ is not foundin the server command pool 42, the process of FIG. 21 is ended.

[0328] When a server command sheet qualifying for the process can befound, the process steps S41˜S43 are performed as in FIG. 20 to executethe server command described in the subjected server command sheet, andthe process ends after these steps are completed.

[0329] It is noted that the above processes may be performedsimultaneously using a plurality of threads (e.g., four threads).Herein, since the ‘status’ of a server command sheet that is oncesubjected to the process is no longer indicated as ‘waiting forprocess’, the server command sheet is prevented from being subjected toa process more than once even when a new process is started before aprevious process is completed.

[0330] By performing the above-described processes, each server commandcan be executed at a desired timing and, thereby, even when theexecution of one command takes a long time, its subsequent processes(server commands) may not necessarily be affected by this delay.Further, the execution results of the server commands are successivelyadjusted for transmission to the HTTP server 12 as command responsesaccording to the order in which the execution of each command iscompleted.

[0331] In the above, the processes pertaining to the transfer ofcommands and command responses performed in the HTTP client 11 has beendescribed.

[0332] A functional configuration of the HTTP server 12 will now bedescribed. Herein, it is noted that a hardware configuration of the HTTPserver 12 may be identical to that of the HTTP client 11 as describedusing FIG. 7; Thereby, in the flowing descriptions of the HTTP server12, numerical references for hardware components are identical to thosefor the HTTP client 11.

[0333]FIG. 22 is a block diagram illustrating an exemplary functionalconfiguration of the HTTP server 12 for performing processes pertainingto the transfer of commands and command responses.

[0334] Of the functions shown in FIG. 22, a server command pool 141 anda client command pool 142 are implemented in any suitable rewritablestorage means of the HTTP server 12. Server command generating means143, client command execution result generating means 144, outgoingmessage gathering means 145, and received message distributing means 148are realized by the CPU 31. Also, HTTP response transmitting means 146and HTTP request receiving means 147 are realized by the CPU 31 and theNIC 35.

[0335] In the following, further details of the above functions aredescribed.

[0336] First, the server command pool 141 corresponds to a secondstorage area implemented in the HTTP server 12, and registers a servercommand, a response to this command, and identification information ofthis command in association with each other. Also, the client commandpool 142 corresponds to a first storage area implemented in the HTTPserver 12, and registers a client command, a response to this command,and identification information of this command in association with eachother.

[0337] The server command generating means 143 corresponds to requestgenerating means for generating a server command, assigningidentification information (ID) for identifying this command, attachingmanagement information for managing this command, and registering in theserver command pool 141 the above data in association with each other asa client command sheet in a table format. Further, generating the clientcommand in the client command generating means 43 may be realized by anapplication program implemented in the HTTP server 12, for example.Also, the server command generating means 143 may have a function ofprioritizing the execution of the generated server commands inadministering the HTTP client 11 to execute the commands.

[0338]FIG. 23 shows an exemplary data configuration of the servercommand sheet of the HTTP server 12.

[0339] As is shown in this drawing, the server command sheet of the HTTPserver 12 has areas for storing data that are largely identical to thoseof the client command sheet of the HTTP client 11 shown in FIG. 9. Thedifference between these two command sheets lies in the fact that thetype of command described in the server command sheet of the HTTP server12 is a server command rather than a client command and the HTTP client11 is designated as the destination of this command and the sender ofits corresponding command response. Further, as for the ‘server commandexecution result notifying destination’ of the server command sheet ofthe HTTP server 12, although the title of this item is different sincethe command sheet describes a server command rather than a clientcommand, the actual contents that may be registered as data for thisitem are identical to those for the ‘client command execution resultnotifying destination’ of FIG. 9.

[0340] Referring back to FIG. 22, the client command execution resultgenerating means 144 corresponding to response generating means is anapplication program for reading a client command from the client commandpool 142. This client command execution result generating means 144 hasfunctions of generating a response to a client command, and registeringin the client command pool 142 the generated response to this clientcommand in association with the command 1D of this command. Herein, itis noted that the client command received from the HTTP client 11 isarranged to be registered in association with the ID for identifyingthis command and management information for managing this command in theclient command pool 142 as a client command sheet in a table format.Thus, the command response generated by the client command executionresult generating means 144 is also registered in the client commandsheet of the corresponding client command.

[0341] The client command execution result generating means 144 may beprovided with a function of reading a plurality of client commands fromthe client command pool 142 and generating a response for each of thereadout client commands. Further, in the case where the client commandsinclude priority information for the HTTP server 12 to prioritize theexecution of their respective processes, the client command executionresult generating means 144 may be provided with a function of readingand executing the respective processes according to the order ofpriority starting with the client command with the highest priority.

[0342] It is noted that the client command execution result generatingmeans 144 does not necessarily have to be an application program itself,and may instead be a module that administers the execution of a commandby calling a suitable application program for executing the servercommand, for example.

[0343]FIG. 24 shows an exemplary data configuration of a client commandsheet in the HTTP server 12.

[0344] As is shown in this drawing, the client command sheet of the HTTPserver 12 has areas for storing data that are largely identical to thoseof the server command sheet of the HTTP client 11 shown in FIG. 10. Thedifference between these two command sheets is that the type of commanddescribed in this client command sheet of the HTTP server 12 is a clientcommand rather than a server command and the HTTP client 11 isdesignated as the sender of this command and the destination of itscorresponding command response. Further, as for the ‘client commandnotifying destination’ of the server command sheet of the HTTP server12, although the title of this item is different since the command sheetdescribes a client command rather than a server command, the actualcontents that may be registered as data for this item are identical tothose for the ‘server command notifying destination’ of FIG. 10.

[0345] Referring back to FIG. 22, the outgoing message gathering means145 corresponds to request gathering means for reading from the clientcommand pool 142 a command response generated by the client commandexecution result generating means 144 that is registered in associationwith the command ID of the client command corresponding to this commandresponse, as well as reading from the server command pool 141 a servercommand generated by the server command generating means 143 that isregistered in association with the command ID of this command, andgenerating an outgoing message from the read data.

[0346] When execution priority information is assigned to the commandresponses and/or the client commands, the outgoing message gatheringmeans 145 may be arranged to read the command responses and/or clientcommands according to the order of execution priority.

[0347] Herein, the format of the outgoing message created by theoutgoing message gathering means 145 of the HTTP server 12 is identicalto that of the outgoing message treated in the HTTP client 11.

[0348] The HTTP response transmitting means 146 corresponds totransmitting means for generating an HTTP request containing theoutgoing message generated by the outgoing message gathering means 145as a communication response to the HTTP request received from the HTTPclient 11, and transmitting this HTTP response to the HTTP client 11.Herein, it is noted that any suitable number of outgoing messages may becontained in an HTTP response, and also, outgoing messages correspondingto command responses and outgoing messages corresponding to clientcommands may be intermingled in the HTTP response on an arbitrary basis.

[0349] Thus, the HTTP response transmitting means 146 is adapted toinclude the outgoing messages generated by the outgoing messagegathering means 145 in one HTTP request for transmission to the HTTPclient 11 without regard to whether the outgoing messages containedtherein correspond to a command response or a client command. However,it is also possible to set a limit to the number of outgoing messagesincluded in one HTTP request.

[0350] It is noted that once the outgoing message gathering means 145undertakes reading of a server command or command response, thetransmission of the HTTP response is performed even when there is nodata to be read and consequently no outgoing messages are generated.That is, the outgoing message gathering means 145 undertakes readout ofa command response or server command upon receiving an HTTP request fromthe HTTP client 11.

[0351] The above arrangement is made because the HTTP server 12 isunable to send information to the HTTP client 11 unless the HTTP client11 makes a communication request to the HTTP server 12 as describedearlier.

[0352] The HTTP request receiving means 147 corresponds to receivingmeans for acquiring an HTTP request from the HTTP client 11. In the HTTPrequest, any number of receiving messages may be included. Further, thereceiving message may describe a client command and the command IDassociated with this command or a response to a server command and thecommand ID associated with this command, and the two types of receivingmessages may be intermingled in the HTTP request on an arbitrary basis.

[0353] Herein, the receiving message describes the command or responseand the corresponding command ID as a SOAP message.

[0354] The received message distributing means 148 corresponds todistributing means for allocating and registering the data contained inthe HTTP request received by the HTTP request receiving means 147 intothe server command pool 141 and the client command pool 142,respectively.

[0355] Specifically, the client command and the command ID associatedwith this command are registered in a client command sheet provided inthe client command pool 142. As for the response to a server command,the command ID associated with this command is collated with the commandID registered in each server command sheet stored in the server commandpool 141 so as to determine the corresponding server command of thecommand response, and this command response is registered as the ‘outputparameter’ of the corresponding server command.

[0356] The HTTP request is resolved into the respective receivingmessages, and each receiving message included in this HTTP response isextracted so that data described therein is converted into a formatsuitable for registration in the table. This conversion may be realizedby implementing an appropriate conversion program (parser) that isgenerated based on WSDL.

[0357] The HTTP request received by the HTTP server 12 having theabove-described functions corresponds to a communication request sentfrom the HTTP client 11. Thus, for example, this HTTP request maycorrespond to the HTTP request of FIG. 11 used in describing thefunctions of the HTTP client 11. Similarly, the HTTP response sent bythe HTTP server 12 corresponds to the communication response sent to theHTTP client 11 to be received by this HTTP client 11. Thus, for example,this HTTP response may correspond to that described using FIG. 12.Further, the contents of the parts included in the HTTP request and HTTPresponse may be identical to those described in reference to FIGS.13˜16.

[0358] In the following, processes performed by the HTTP server 12having the above-described configurations and functions are describedwith reference to flowcharts shown in FIGS. 25˜29. Herein, it is notedthat the processes illustrated in these flowcharts are realized by theCPU 31 of the HTTP server 12 that executes the appropriate controlprograms.

[0359] First of all, FIG. 25 shows a flowchart illustrating a basicoperation flow of a message gathering and distributing process.

[0360] The CPU 31 of the HTTP server 12 starts the process illustratedby the flowchart of FIG. 25 when an HTTP request is sent from the HTTPclient 11.

[0361] According to this process flow, first the HTTP request isreceived (S111). Then, the HTTP body of the received HTTP request isdivided into parts (S112). The HTTP body is divided into components thatare separated from each other by a ‘MIME_boundary’.

[0362] Then, a sequence of processes corresponding to steps S113˜S115 issuccessively performed for each of the divided parts. In this processsequence, first, it is determined whether a part subjected to theprocess describes a client command (S113). Then, if it is determinedthat the part describes a client command, a client command registrationprocess is performed (S114). On the other hand, if it is determined thatthe part does not describe a client command, this means that the partdescribes a response to a server command and, thereby, a responsenotification process is performed (S115).

[0363] After performing either step S114 or S115, the process goes backto step S113, and the process sequence is repeated for a next part thatis subjected to the process. Then, after the process sequence of stepsS113˜S115 is performed for each of the divided parts, the process moveson to the next step S116.

[0364] With regard to the processes up this point, the CPU 31 functionsas the HTTP request receiving means 147 in steps S111 and S112, and asthe received message distribution means 148 in steps S113˜S115.

[0365] Next, the CPU 31 performs a server command gathering process(S116). This corresponds to a process of gathering from the servercommand pool 142 server commands that are to be transmitted to the HTTPclient 11, and also includes a process of generating from the gathereddata parts containing respective SOAP envelopes.

[0366] Next, a client command execution result gathering process isperformed (S117). This corresponds to a process of gathering from theclient command pool 142 command responses that are to be transmitted tothe HTTP client, and also includes a process of generating from thegathered data parts containing respective SOAP envelopes.

[0367] Then, the parts generated in the process steps S116 and S117 aremerged together so that an HTTP response containing these parts isgenerated (S118). This HTTP response is then sent to the HTTP client 11as a communication response to the HTTP request received in step S111(S119), after which this message gathering and distributing process iscompleted.

[0368] With regard to the processes up to this point, the CPU 31functions as the outgoing message gathering means 145 in steps S116 andS117, and as the HTTP response transmitting means 146 in steps S118 andS119.

[0369] In the following, the operation flow of FIG. 25 is describedfurther using flowcharts each illustrating portions of the operationflow in greater detail.

[0370]FIG. 26 is a flowchart illustrating a more detailed operation flowof FIG. 25 for the process steps S111˜S115.

[0371] According to this process flow, first, the CPU 31 of the HTTPserver 12 receives the HTTP request transmitted from the HTTP client 11(S121). Upon receiving the HTTP request, the CPU 31 analyzes its HTTPbody and divides it into parts (S122).

[0372] Then, a process sequence corresponding to steps S123˜S129 issuccessively performed on each of the divided parts.

[0373] In this process sequence, first, it is determined whether a partsubjected to the process corresponds to a client command (S123). As isdescribed above, a client command and a response to a server command maybe included in the HTTP request and, thus, a determination of whether apart corresponds to a client command or a response to a server commandis made. This determination is made based on whether a ‘SOAPAction’header is described in the part, or the determination may be made basedon the content of the ‘X-SOAP-Type’ header.

[0374] Then, when it is determined in step S123 that the part does notcorrespond to a client command, this means that the part describes aresponse to a server command. In this case, the XML text describing thepart is analyzed and converted into data suitable for registration inthe server command sheet (S124). Then, a server command corresponding tothis response is searched from the server command pool 141, and thecommand response data is registered in the item ‘output parameter’ ofthe server command sheet of the corresponding server command (S125). Itis noted that a command ID identical to the information indicated as the‘command ID’ in the transmitted server command is attached to thecommand response and, thus, the search for the corresponding servercommand in step S125 may be conducted using this information as a key.

[0375] After the registration of the command response data is completed,the ‘status’ of the server command sheet is changed to ‘responsereceived’ and indicated as thus (S126). Then, the fact that a responsehas been received is notified to a destination registered in the ‘servercommand execution result notifying destination’ (S127). With thisnotification, an application program such as that for generating theserver command may be informed that a response to the generated commandhas been received, and may perform suitable processes according to theresponse.

[0376] For example, when an application program for dealing with troublearising in the HTTP client 11 generates a server command to acquire asensor value from a temperature sensor of the HTTP client 11, thiscommand is sent to the HTTP client, and the HTTP client 11 may send backa command response including the requested sensor value. Then, the HTTPserver 12 receiving this command response searches for the servercommand corresponding to this command response based on the command IDincluded in this command response, and registers this command responsein association with its corresponding server command. Then, theapplication for dealing with the trouble that is registered as thecommand execution result notifying destination of this command isnotified of the fact that a response to this command has been received.The application program receiving this notification may refer to theserver command sheet and acquire the execution result of the generatedcommand from the item ‘output parameter’ of this server command sheet.

[0377] After the processes up to step S127 are completed for thesubjected part, the same processes starting from step S123 are repeatedfor a next part if such part exists.

[0378] On the other hand, when it is determined in step S123 that thesubjected part corresponds to a client command, the XML text describingthe part is analyzed and converted into data suitable for registrationin the client command sheet (S128). Then, a client command sheet forthis client command is created and this server command sheet containingthe server command and its corresponding command ID is registered in theclient command pool 142 (S129). The content of the client command isregistered in the items ‘method name’ and ‘input parameter’ of theclient command sheet, and the command ID described in the part isregistered in the item ‘command ID’ of this client command sheet. In theitem ‘client command notifying destination’, reference information tothe application program with which the method registered in the ‘methodname’ is to be executed, for example, is registered, this referenceinformation being determined based on correspondence information betweena method and an application program, for example, that is providedbeforehand. It is noted that the initial value of the ‘status’corresponds to ‘not processed’, and the initial value of the ‘outputparameter’ corresponds to ‘NULL’.

[0379] After the processes up to step S129 are completed for thesubjected part, the same processes starting from step S123 are repeatedfor a next part if such part exists.

[0380] Thus, the process flow illustrated in FIG. 26 ends after theprocess sequence from step S33 to step S39 is performed on each of theparts contained in the HTTP request received in step S121.

[0381] Hereby, the description of the processes pertaining to receivingthe HTTP request is completed, and a description of the processescorresponding to steps S116 and onward of FIG. 25 will now be given.

[0382]FIG. 27 is a flowchart illustrating a more detailed process flowof steps S116 and onward of FIG. 25. It is noted that the process stepfollowing step S129 of FIG. 26 corresponds to step S131 of this drawing.

[0383] According to this process flow, first, the CPU 31 of the HTTPserver 12 gathers from the server command pool 141 contents of the‘method name’ and ‘input parameter’ of the server command sheetsindicating ‘not sent’ for the ‘status’ as server commands to be sent tothe HTTP client 11, and also gathers contents of the ‘command ID’ as IDsof the gathered server commands (S131). It is noted that when ‘not sent’is indicated as the ‘status’, this means that a command generated by theserver command generating means 143 has not yet been sent to the HTTPclient 11. Thus, commands to be sent to the HTTP client 11 can beextracted based on this information.

[0384] Then, a process sequence corresponding to steps S132˜S134 issuccessively performed on each of the server commands gathered in stepS131. In this process sequence, first, a server command and itscorresponding command ID that are subjected to the process are convertedin to an XML text in which information on the client command and thecommand ID are included in a SOAP body and a SOAP header, respectively(S132). Accessory information is attached to the XML text to generate aSOAP envelope corresponding to a part describing the subjected command(S133). Then, the ‘status’ of the server command sheet describing thesubjected server command is changed from ‘not sent’ to ‘waiting forresponse’ (S134). When the ‘status’ is indicated as ‘waiting forresponse’, this means that the described command has been sent to theHTTP client 11.

[0385] After the process sequence is performed on each of the gatheredserver commands, the CPU 31 gathers the contents of the ‘outputparameter’ of client command sheets of which the ‘status’ is indicatedas ‘process complete’ as command responses to client commands that areto be transmitted to the HTTP client 11, and also gathers the contentsof the ‘command ID’ as IDs of the client commands corresponding to thegathered responses (S135). When the ‘status’ is indicated as ‘processcomplete’, this means that the response corresponding to the clientcommand that is generated by the client command execution resultgenerating means 144 has not yet been sent to the HTTP client 11. Thus,the command responses to be transmitted to the HTTP client 11 can beextracted based on this information.

[0386] Then, a process sequence corresponding to steps S136˜S138 issuccessively performed on each of the command responses gathered in stepS135. This process sequence includes converting a subjected commandresponse and the corresponding command ID gathered therewith into an XMLtext that describes information on this command response and thecorresponding command ID in a SOAP body and a SOAP header, respectively(S136), attaching accessory information to the XML text and generating aSOAP envelope corresponding to a part describing the subjected commandresponse (S137). This process sequence is identical to that of stepsS132 and S133 except for the difference in the data items beingsubjected to the processes. Next, the ‘status’ of the client commandsheet describing the subjected command response is changed to ‘responsemade’ (S138). When ‘response made’ is indicated as the ‘status’, thismeans that the command response has been sent to the HTTP client 11.

[0387] After the completion of the processes described above, the CPU 31merges the parts generated in steps S133 and S137, generates a multipartHTTP response as shown in FIG. 12, and sends this to the HTTP client 11(S139).

[0388] It is noted that the changing of the ‘status’ in steps S134 andS138 may be performed after the transmission of data is actuallycompleted.

[0389] It is also noted that in the present embodiment, the parts to betransmitted are generated and merged together before they aretransmitted, and the parts are received as a whole after which they aredivided into parts for further processing; however, the presentinvention is not limited to this arrangement. For example, the parts maybe successively transmitted each time a part is generated, or the partsmay be successively received and processed accordingly each time a partis received, as described in the case of the HTTP client 11.

[0390] In the following, processes pertaining to the execution of aclient command will be described.

[0391]FIG. 28 is a flowchart illustrating an example of such processes.

[0392] This process pertaining to the execution of a server command isperformed after step S129 of FIG. 27. Namely, these steps may beperformed after the client command is registered in the client commandpool 142. The CPU 31 of the HTTP server 12 functions as the clientcommand execution result generating means 144.

[0393] In this process flow, first, an application program or some othersuitable means for executing the client command is called based on theinformation corresponding to the ‘client command notifying destination’of the client command sheet describing the registered client command,and data corresponding to the ‘method name’ and ‘input parameter’ arehanded over to the application so that the process pertaining to theserver command is performed (S141). Although it is not shown in thisflowchart, the process pertaining to the server command is executed bythe CPU 31 using a different thread.

[0394] After this process step is completed, the execution result isregistered in the item ‘output parameter’ of the client command sheet(S142). At the same time, the ‘status’ of the client command sheet ischanged to ‘process complete’ which indicates that the process iscompleted ($143). Then, the operation goes back to the process flow ofFIG. 27.

[0395] By means of the process steps of FIG. 28, the client command maybe executed and appropriate measures may be taken so that the executionresult of the client command can be sent to the HTTP client 11 as thecommand response.

[0396]FIG. 29 is a flowchart illustrating another exemplary process flowpertaining to the execution of the client command that is performedindependently from the process flow of FIG. 27. The CPU 31 of the HTTPserver 12 also functions as the client command execution resultgenerating means 144 as in the example of FIG. 28.

[0397] In performing the process steps of FIG. 29, the CPU 31 initiatesthe process at suitable timings such as at intervals of a predeterminedtime period or after a predetermined time period passes from the time anHTTP response is received.

[0398] When the process of FIG. 29 is started, a client command sheet ofwhich the ‘status’ is indicated as ‘waiting for process’ is extractedfrom the client command pool 142 to be subjected to the subsequentprocesses, and the ‘status’ of its command sheet is changed to‘processing’ (SY). Although it is not shown, if a client command sheetof which the ‘status’ is indicated as ‘waiting for process’ is not foundin the client command pool 142, the process of FIG. 29 is ended.

[0399] When a client command sheet qualifying for the process can befound, the process steps S141˜S143 are performed as in FIG. 28 toexecute the client command described in the subjected client commandsheet, and the process ends after these steps are completed.

[0400] It is noted that the above processes may be performedsimultaneously using a plurality of threads as has been described forthe HTTP client 11.

[0401] By performing the above-described processes, each client commandcan be executed at a desired timing and, thereby, even when theexecution of one command takes a long time, the subsequent processes(client commands) may not necessarily be affected by this delay. Theexecution results of these client commands are successively adapted fortransmission to the HTTP client 11 as command responses in the order inwhich the execution of each command is completed.

[0402] In the above, the processes pertaining to the transfer ofcommands and command responses performed in the HTTP server 12 has beendescribed.

[0403] By implementing the above-described functions in the HTTP client11 and HTTP server 12 so that they are able to perform theabove-described processes, an operation request to be sent from a senderto a communication counterpart, and an operation response to anoperation request received from the communication counterpart may becollectively sent to the communication counterpart in one bundle. Inthis way, it becomes unnecessary to perform individual negotiations toestablish connections for the transmission of the operation request andthe transmission of the operation response, respectively, and thereby,the communication overhead can be reduced and communication efficiencycan be improved.

[0404] The collective transmission in a bundle (batch transmission) ofthe operation request and the operation response is realized byconverting each of the operation request and the operation response intoserialized data, and further converting each data into a transmissionmessage described in a structured language format. In this way, theoperation request and operation response having different formats may beeasily merged and they may be transmitted as one logical transmissioncontent.

[0405] With this arrangement, the communication apparatus at thereceiving side (communication counterpart) is able to receive anoperation response to the operation request sent to the communicationcounterpart and an operation request from the communication counterpartin a batch, and easily divide the received content into individualmessages to perform the appropriate processes depending on whether eachmessage corresponds to an operation request or an operation response.

[0406] In an embodiment where one communication apparatus is arranged tosend a communication request and the communication apparatus at theother end (communication counterpart) is arranged to send messages suchas an operation request to the sender of the communication request as acommunication response to this communication request, thetransmission/reception of operation requests and operation responses maybe performed smoothly even in a communication system in which thecommunication apparatus sending the communication request (communicationclient) is stationed within a firewall. Also, in this embodiment, sincethe communication request and communication response correspond to eachother, timing management in the communication level may be facilitated.

[0407] By arranging the above communication apparatus sending acommunication request to periodically send the communication request toits communication counterpart in this embodiment, a delay in thetransmission of information from outside to be transmitted inside thefirewall for a long period of time can be prevented.

[0408] By implementing a client command pool and a server command pool,the operation requests and operation responses generated by variousmeans such as application programs may be accumulated in theses poolsand, thus, the operation requests and operation responses may begenerated without due consideration to their transmission timing to thecommunication counterpart. Thereby, the processes performed by thevarious application programs and/or other suitable means may besimplified and, in turn, the design and development of these applicationprograms may also be simplified.

[0409] By implementing gathering means for reading from the pools theoperation requests and operation responses that are to be transmitted tothe communication counterpart, information to be transmitted can beprevented from being left out in the transmission.

[0410] Distributing means may be implemented for dividing the receivedoperation requests and operation responses and storing them in therespective pools. In this way, received information may be accumulatedin the pools and, thereby, the execution of an operation pertaining to areceived operation request and/or the execution of processes afterreceiving an operation response may be performed without dueconsideration to a reception timing from the communication counterpart.Therefore, the processes performed by the various application programsand/or other suitable means may be simplified and, in turn, the designand development of these application programs may also be simplified.

[0411] By assigning identification information such as an ID to agenerated operation request, and storing or transmitting the operationrequest in association with this identification information, and alsostoring or transmitting an operation response in association with theidentification information of an operation request for this operationresponse, correspondence information between an operation request and anoperation response may be easily recognized based on the identificationinformation even in a case where a plurality of operation requests andoperation responses are included in one message.

[0412] By assigning priority information to the operation requests andexecuting and sending responses for these requests in due orderaccording to the priority information, an operation requiring urgencymay be executed with priority and also, a response to this operationrequest may be sent with priority. [Reference Example Using SMTP: FIGS.30˜35]

[0413] In the following, a reference example in which SMTP is used asthe communication protocol will be described It is noted that manycommon points exist between this reference example and thepreviously-described embodiment using HTTP as the communicationprotocol. Thus, parts of the description of this reference example thatare identical to those of the embodiment using HTTP are omitted orsimplified, and an emphasis is put on features of this reference examplethat are different from those of the embodiment using HTTP.

[0414]FIG. 30 is a block diagram showing an exemplary configuration of acommunication system implementing the above reference example usingSMTP.

[0415] This communication system includes a LAN_A interconnecting acommunication apparatus A and a mail server A′, a LAN_B interconnectinga communication apparatus B and a mail server B′, and Internet 13interconnecting the LAN_A and LAN_B via a firewall A of the LAN_A and afirewall B of the LAN_B. A mail server A and a mail server B areprovided in the LAN_A and LAN_B, respectively, at positions enablingaccess from outside via the respective firewalls It is noted that thecommunication apparatus A corresponds to the first communicationapparatus, and the communication apparatus B corresponds to the secondcommunication apparatus of FIG. 1.

[0416] In a communication using SMTP, the transfer of informationbetween the communication apparatus A and the communication apparatus Bis realized by electronic mail. Specifically, for example, wheninformation is to be sent from the communication apparatus B to thecommunication apparatus A, the communication apparatus B outputs anelectronic mail addressed to the communication apparatus A, which isfirst sent to the mail server B′, as is indicated by the dashed linearrows in FIG. 30. Then, the electronic mail is transferred via the mailservers B′, B, and A, respectively, before being transferred to the mailserver A′ to which the communication apparatus A has direct access.

[0417] Then, as indicated by the dash-dotted line arrow of FIG. 30, thecommunication apparatus A can periodically access the mail server A′ toreceive electronic mail addressed to thereto. In this way, informationtransmission from the communication apparatus B to the communicationapparatus A is completed. On the other hand, in transmitting informationfrom the communication apparatus A to the communication apparatus B, areverse procedure of the above-described procedure may be performed. Inother words, the communication apparatus A and the communicationapparatus B operate in a similar manner with respect to informationtransmission. It is noted that the mail server A′ and mail server B′ donot necessarily have to be implemented, and the communication apparatusA may communicate directly with the mail server A and the communicationapparatus B may communicate directly with the mail server B.

[0418] In such a system, each LAN implements a mail server at a positionthat allows access from outside so that electronic mail can be sentthereto via the firewall.

[0419] In this reference example, the communication apparatus A and thecommunication apparatus B are able to transmit information to/from eachother even though they do not communicate through direct negotiation.Thus, it is presumed that such information transmission corresponds to a‘communication’ and will be referred to as such hereinafter.

[0420] As with the first and second communication apparatuses of FIG. 1,the communication apparatus A and communication apparatus B implementapplication programs for controlling and managing each other. Using RPC,each communication apparatus is arranged to send an ‘operation request’calling for the execution of the process for a method of an applicationprogram implemented at the other side, and acquire an ‘operationresponse’ corresponding to the execution result of the requestedprocess.

[0421]FIGS. 31A and 31B show relations between the operation request andthe operation response. As is shown, in the operation request level, thecommunication apparatus A and the communication apparatus B operate in asimilar manner as with the HTTP client 11 and the HTTP server 12.

[0422] Further, in the case of using SMTP, the communication apparatus Aand the communication apparatus B operate in a similar manner even inthe communication level, this being different from the relation betweenthe HTTP client 11 and the HTTP server 12.

[0423]FIG. 32 shows an exemplary communication sequence in thiscommunication system.

[0424] As described earlier, in this communication system, communicationbetween the communication apparatus A and the communication apparatus Bis performed using electronic mail. This electronic mail includesinformation on a sender and a destination, and a reply may be sent backto the sender from the destination. However, in this case, the firstmail and the reply mail are independent from each other; that is, inthis example there is no relation similar to the communicationrequest-communication response relation found in the embodiment usingHTTP.

[0425] Thus, either of the two communication apparatuses is able toinitiate the communication, and the electronic mail does not necessarilyhave to be sent back and forth. In the following example, a case will bedescribed in which a total of three electronic mails aretransmitted/received back and forth starting with the communicationapparatus A sending an electronic mail to the communication apparatus B.

[0426] In these electronic mails, an operation request (command) to adestination and an operation response (command response or simply‘response’) to the command received from the destination are described.This case applies whether the sender corresponds to the communicationapparatus A or the communication apparatus B.

[0427] Thus, for example, communication apparatus A command (a) may bedescribed in electronic mail (x) to be transmitted to the communicationapparatus B, and subsequently, the corresponding command response fromthe communication apparatus B may be described in electronic mail (y) tobe sent to the communication apparatus A. Also, communication apparatusB command (c) may be described in the electronic mail (y) and,subsequently, the corresponding command response from the communicationapparatus A may be described in electronic mail (z) to be sent to thecommunication apparatus B.

[0428] It is noted that any number (including 0) of operation requestsand operation responses to the operation request may be described in oneelectronic mail. Further, the content described in one electronic mailcorresponds to one message and is logically sent as one batch. In thisway, the number of electronic mails for transmitting information can bereduced so that the communication overhead is reduced and communicationefficiency is improved.

[0429] It is also noted that a command response may be described in afirst electronic mail sent after the reception of the correspondingcommand or in an electronic mail sent thereafter as in the example ofFIG. 6 using HTTP.

[0430] Next, in the following, functional configurations and processsteps for realizing the processes of merging the commands and commandresponses and separating these parts in the communication apparatus Aand communication apparatus B will be described. It is noted that thehardware configurations of these apparatuses may be identical to theconfiguration illustrated in FIG. 7 for the HTTP client 11 and HTTPserver 12.

[0431]FIG. 33 is a functional block diagram illustrating a functionalconfiguration of the communication apparatus A for performing theprocesses pertaining to the commands and command responses(corresponding to FIG. 8).

[0432] As is shown, the communication apparatus A includes acommunication apparatus A command pool 51, a communication apparatus Bcommand pool 52, communication apparatus A command generating means 53,and communication apparatus B command execution result generating means54, which correspond to the client command pool 41, the server commandpool 42, the client command generating means 43, and the server commandexecution result generating means 44, respectively (see FIG. 8). Thedifferences in the names of these corresponding functions are due to thedifferences in the names of the apparatuses.

[0433] The communication apparatus A includes outgoing message gatheringmeans 45 and received message distribution means 48 as in FIG. 8. It isnoted that in this example, a data format corresponding to SMTP is usedfor transmission and reception of data. However, the individual SOAPmessages corresponding to the commands and command responses describedare identical to those used in the embodiment of FIG. 8.

[0434] The communication apparatus A further includes mail transmittingmeans 56 and mail receiving means 57, which respectively correspond totransmitting means and receiving means, are different from the HTTPrequest transmitting means 46 and the HTTP response receiving means 47since the protocol being used for transmission and reception of data inthe two examples is different.

[0435] The mail transmitting means 56 has the function of generating anelectronic mail addressed to the communication apparatus B that includesthe outgoing message generated by the outgoing message gathering means45, and sending this to the mail server A′. After this, thecommunication apparatus A does not interfere with the transmission ofthis electronic mail. As in the embodiment of FIG. 8, any number ofoutgoing messages may be included in one electronic mail, and theoutgoing message may correspond to a command response or a communicationapparatus A command. The outgoing messages corresponding to a commandresponse and outgoing messages corresponding to a communicationapparatus A command may be intermingled on an arbitrary basis.

[0436] The mail receiving means 57 has the function of checking to seewhether there are any newly arrived mails, and receiving the newlyarrived mails if they exist. The electronic mail to be received mayinclude any number of receiving messages describing a communicationapparatus B command and its associated command ID, and receivingmessages describing a response to a communication apparatus A commandand its associated command ID, that are intermingled with each other onan arbitrary basis.

[0437]FIG. 34 shows an exemplary electronic mail to be sent to thecommunication apparatus B from the communication apparatus A having theabove-described functions.

[0438] This electronic mail, like the HTTP request of FIG. 11, has abody portion that describes a multipart message using MIME (MultipurposeInternet Mail Extension). In each part making up the multipart message aSOAP envelope is embedded. Thus, the body portion of this electronicmail is identical to the HTTP body of the HTTP request.

[0439] However, the header portion of this electronic mail is differentfrom the HTTP header in that information corresponding to items ‘From’for indicating the sender address of the electronic mail, ‘To’ forindicating the destination address, and ‘Subject’ for indicating thetitle, for example, are described therein.

[0440] As for the electronic mail to be sent to the communicationapparatus A from the communication apparatus B, the information contentdescribed in the item ‘From’ and ‘To’ are exchanged.

[0441] Also, the contents of the SOAP envelopes described in theelectronic mails are identical to those described in the HTTP request orHTTP response. However, in the entity header portion of each part,different information may be described since the data encoding methodused in this example is different from that used in the embodiment usingHTTP.

[0442] In the following, processes executed in the communicationapparatus A having the above-described configurations and functions willbe described with reference to flowcharts shown in FIGS. 35 and 36. Itis noted that the processes shown in these flowcharts are executed by aCPU that is implemented in the communication apparatus A and executessuitable control programs.

[0443]FIG. 35 is a flowchart illustrating a basic operation flow ofprocesses executed upon message transmission.

[0444] First, the CPU of the communication apparatus A starts theprocess flow of FIG. 35 at an appropriate timing for the outgoingmessage gathering means 45 to undertake a readout of communicationapparatus A commands and/or command responses.

[0445] Then, a communication apparatus A command gathering process isperformed (S51). This corresponds to a process of gathering from thecommunication apparatus A command pool 51 communication apparatus Acommands to be sent to the communication apparatus B, and also includesa process of generating SOAP envelope parts based on the gathered data.

[0446] Then, a communication apparatus B command execution resultgathering process is performed (S52). This corresponds to a process ofgathering from the communication apparatus B command pool 52 commandresponses to be sent to the communication apparatus B, and also includeda process of generating SOAP envelope parts based on the gathered data.

[0447] Then, the parts generated in the processes of steps S51 and S52are merged so that an electronic mail containing these parts isgenerated (S53). This electronic mail is then addressed to thecommunication apparatus B and sent thereto (S54) and, hereby, themessage transmission process of FIG. 35 is completed.

[0448] In executing the above-described processes, the CPU of thecommunication apparatus A functions as the outgoing message gatheringmeans 45 in steps S51 and S52, and as the mail transmitting means 56 insteps S53 and S54.

[0449] It is noted that these processes correspond to steps S11˜S14 ofFIG. 17. However, in the case of using SMTP, the transmission ofelectronic mail and the reception of electronic mail each correspond toindividual processes and a relation such as that between thecommunication request and the communication response in the datatransmission/reception between the HTTP client 11 and HTTP server 11does not exist in this example. Thus, the transmission process endshere, and another separate process is performed in receiving theelectronic mail.

[0450]FIG. 36 is a flowchart illustrating a basic operation flow of amessage receiving process.

[0451] The CPU of the communication apparatus A periodically accessesthe mail server A′ and starts the process illustrated in the flowchartof FIG. 36 when it detects a newly arrived electronic mail addressed tothe communication apparatus A.

[0452] In this process, first, the CPU receives the newly arrivedelectronic mail (S61). Then, the body (text) of the received electronicmail is divided into parts (S62). This corresponds to a process ofdividing the body into components that are separated from each other bya ‘MIME_boundary’.

[0453] Then, a sequence of processes corresponding to steps S63˜S65 issuccessively performed for each of the divided parts. In this processsequence, first, it is determined whether a part subjected to theprocess describes a communication apparatus B command (S63). Then, if itis determined that the part describes a communication apparatus Bcommand, a communication apparatus B command registration process isperformed (S64). On the other hand, if it is determined that the partdoes not describe a communication apparatus B command, this means thatthe part describes a response to a communication apparatus A commandand, thereby, a response notification process is performed (S65).

[0454] After performing either step S64 or S65, the process goes back tostep S63, and the process sequence is repeated for a next part that issubjected to the process. Thus, the process sequence of steps S63˜S65 isperformed for each of the divided parts, after which the messagereceiving process of FIG. 36 ends.

[0455] In executing the above-described processes, the CPU of thecommunication apparatus A functions as the mail receiving means 57 instep S61, and as the received message distribution means 48 in stepsS62˜S65.

[0456] These processes correspond to steps S15˜S19 of FIG. 17.

[0457] It is also noted that the processes relating to the execution ofa communication apparatus B command in the communication apparatus A areidentical to the processes relating to the execution of the servercommand described with reference to FIGS. 20 and 21.

[0458] In the above, the processes relating to the transmission of acommand and a command response performed in the communication apparatusA have been described.

[0459] As for the functions and processes of the communication apparatusB, the concepts of the communication apparatus A command and thecommunication apparatus B command may be switched in the abovedescriptions of the communication apparatus A.

[0460] As described above, the present invention may be applied tocommunications performed using a protocol that does not necessarilycorrespond the transmission of information to a response to thistransmission. Even in such case, an operation request to be sent from asender to a communication counterpart, and an operation response to aoperation request that has been received from the communicationcounterpart may be collectively sent to the communication counterpart inone batch so that the operation request and the operation response donot have to be transmitted in separate units. In this way, thecommunication overhead can be reduced and communication efficiency canbe improved.

[0461] Also, by using electronic mail for data transmission andreception, information can be easily transferred within the firewalls.

[0462] [Modification of Embodiment and Reference Example: FIG. 37]

[0463] In the following, an exemplary modification of theabove-described embodiment and reference example will be described.

[0464] In the above described embodiment and reference example, thepresent invention is described by illustrating an exemplarycommunication system that is made up of two communication apparatuses;however, this has been done to simplify the description and the presentinvention is not limited to these examples. For example, the presentinvention may be applicable to a communication system made up of agreater number of communication apparatuses or a communication apparatusincluded in such communication system.

[0465]FIG. 37 illustrates another exemplary communication system thatuses HTTP as the communication protocol.

[0466] This communication system corresponds to a remote managementsystem for managing a managed apparatus by means of a managing apparatusby establishing a connection between the apparatuses via a network suchas the Internet. As is shown in the drawing, this system includes amanaging apparatus 102 that corresponds to a communication apparatushaving communication functions, managed apparatuses 100 a˜f that alsocorrespond to communication apparatuses having communication functions(collectively referred to as ‘managed apparatus 100’ hereinafter), andthe Internet 13 that establishes a connection between the managingapparatus 102 and the managed apparatus 100.

[0467] The managed apparatus 100 may correspond to various types ofelectronic apparatuses having communication functions including, forexample, a printer, a scanner, a copier, a digital multi functionalimaging apparatus implementing more than one of the above functions, anetwork appliance, a vending machine, medical equipment, a power sourceapparatus, an air conditioning system, measuring systems for gas, water,or electricity, a computer that can be connected to a network.

[0468] This remote management system includes mediation apparatuses 101a˜c that correspond to communication apparatuses that mediate thecommunication between the managing apparatus 102 and the managedapparatus 100 (collectively referred to as mediation apparatus 101′hereinafter). Thus, the managing apparatus 102 and the managed apparatus100 communicate with each other via the mediation apparatus 101.

[0469] The mediation apparatus 101 and the managed apparatus 100 may bearranged in various configurational structures according to their usageenvironment. For example, in environment A shown in FIG. 37, the managedapparatuses 100 a and 100 b, and the mediation apparatus 101 a that iscapable of establishing a connection with the managing apparatus 102using HTTP are arranged in a simple configurational structure in whichthe mediation apparatus 101 a subordinates the managed apparatuses 100 aand 100 b. On the other hand, in environment B, four managed apparatuses100 c, 100 d, 100 e, and 10 of are provided and, thereby, the load maybe too large for one mediation apparatus to subordinate the managedapparatuses.

[0470] For this reason, in an embodiment, the mediation apparatuses 101b and 101 c may be provided. In the configurational structure ofenvironment B, the mediation apparatus 101 b that is capable ofestablishing connection with the managing apparatus 102 using HTTPsubordinates not only the managed apparatuses 100 c and 100 d but alsothe other mediation apparatus 101 c. Further, the mediation apparatus101 c subordinates the managed apparatuses 100 e and 100 f. Informationgenerated from the managing apparatus 102 to conduct remote managementon the managed apparatuses 100 e and 100 f passes through the mediationapparatus 101 b, and then the mediation apparatus 101 c, whichcorresponds to a subordinate node of the mediation apparatus 101 b, toreach the managed apparatus 100 e or 100 f, Also, for security reasons,fire walls 14 a and 14 b (collectively referred to as ‘firewall 14’hereinafter) are implemented in the environments A and B, respectively.

[0471] By handling the mediation apparatus 101 as the HTTP client andthe managing apparatus 102 as the HTTP server, the present invention maybe applied to this remote management system.

[0472] In such case, when the managing apparatus 102 is to send acommand to the managed apparatus 100, the managing apparatus 102 mayfirst send a command ‘send command to managed apparatus 100’, and themediation apparatus 101 may be arranged to send the command to themanaged apparatus 100 as an operation corresponding to the commandreceived from the managing apparatus 102. Alternatively, the managingapparatus 102 may designate one of the managed apparatuses 100 a˜f as adestination of a command and then send this command to the mediationapparatus 101, and the mediation apparatus 101 may be arranged to send acommand received from the managing apparatus 102 that is addressed to adestination other than itself to the designated destination.

[0473] When transmission/reception of commands and command responses isperformed between three or more nodes, information on the sender anddestination of the command may be included in a message corresponding tothe command or command response so that the sender and destination ofthe command can be determined, and preferably, this information isdescribed and managed in a command sheet as well.

[0474] By implementing a mail server in this system, the referenceexample using SMTP may also be applied to this system.

[0475] The present invention is not limited to these embodiments, andfurther variations and modifications may be made without departing fromthe scope of the present invention For example, the client command sheetand server command sheet respectively registered in the client commandpool 41 and the server command pool 42 may be described as XML formatteddocuments.

[0476] A limit may be imposed on the amount of information contained inthe command response to be transmitted/received.

[0477] In the above described embodiment and reference example, SOAP isused as the superordinate protocol for realizing RPC; however, otherprotocols such as CORBA (common object request broker architecture) orJAVA (Registered Trademark) RMI (remote method invocation) may be usedas well.

[0478] In other words, according to the above embodiment and referenceexample, the exchange of a command and a response to this commandbetween the HTTP client 11 and the HTTP server 12 is realized by a SOAPmessage described in XML; however, the present invention is not limitedto this arrangement and data may be described In other formats as well.

[0479] In the present embodiment, unique protocols are used in additionto protocols according to the SOAP standard so that the SOAP envelopesincluded in the HTTP request or HTTP response can be handled asindependent parts. Using the SOAP attachment covered by the SOAPstandard protocol, the SOAP envelope corresponding to the first part ofthe HTTP response may be arranged to contain links to subsequent SOAPenvelopes corresponding to the second part and onward so that they areassociated when handed down. This arrangement can similarly be appliedto the reference example using electronic mail and SMTP.

[0480] In the present embodiment, HTTP is used for data transmission asthe subordinate protocol with respect to the superordinate protocol suchas SOAP, and in the reference example, SMTP (simple mail transferprotocol) Is used. However, other protocols such as FTP (file transferprotocol) may also be used as the subordinate protocol.

[0481] The configuration of the communication system according to thepresent invention is not limited to the preferred embodiments andexamples described in the present application.

[0482] The programs stored in the medium according to the presentinvention correspond to application programs for administering acomputer to function as a communication apparatus such as the HTTPclient 11, the HTTP server 12, the communication apparatus A or B thatis capable of communicating with another communication apparatus as acommunication counterpart, and by executing such programs in a computer,the various effects described above can be obtained.

[0483] Such programs may be stored in advance in storage means providedin the computer such as a ROM or an HDD. Alternatively, the programs maybe recorded on a recording medium such as a CD-ROM, or a nonvolatilerecording medium (memory) such as a flexible disk, a SRAM, an EEPROM, ora memory card. In this case, the programs recorded on the memory may beinstalled in the computer so that the CPU can execute the programs, orthe CPU may be arranged to read the programs as well as executing them.In this way, the various processes described above may be realized.

[0484] As another alternative, the programs may be downloaded from anexternal apparatus that is connected to a network and has a recordingmedium on which the program is recorded, or stores the programs in itsstorage means, so that the programs are executed by the CPU.

[0485] The present application is based on and claims the benefit of theearlier filing date of Japanese Patent Application No.2002-272978 filedon Sep. 19, 2002, Japanese Patent Application No.2002-272978 filed onSep. 24, 2002, and Japanese Patent Application No.2003-305506, JapanesePatent Application No.2003-305517, Japanese Patent ApplicationNo.2003-305511, Japanese Patent Application No.2003-305513, and JapanesePatent Application No.2003-305514, filed on Aug. 28, 2003, the entirecontents of which are hereby incorporated by reference.

What is claimed is:
 1. A communication method comprising the steps of:collectively transmitting from a first communication apparatus to asecond communication apparatus a first operation request to betransmitted to the second communication apparatus and a second operationresponse to a second operation request received from the secondcommunication apparatus, which first operation request and secondoperation response are combined in one batch; and collectivelytransmitting from the second communication apparatus to the firstcommunication apparatus the second operation request to be transmittedto the first communication apparatus and a first operation response tothe first operation request received from the first communicationapparatus, which second operation request and first operation responseare combined in one batch.
 2. The communication method as claimed inclaim 1, wherein: the first operation request and the second operationrequest each correspond to a function call; and the first operationresponse and the second operation response each correspond to anexecution result of a function called by the function call.
 3. Thecommunication method as claimed in claim 1, wherein: the secondcommunication apparatus is arranged to transmit the second operationrequest and the first operation response as a communication request; andthe first communication apparatus is arranged to transmit the firstoperation request and the second operation response as a communicationresponse to the communication request from the second communicationapparatus.
 4. The communication method as claimed in claim 3, whereinthe second communication apparatus is arranged to periodically transmitthe communication request to the first communication apparatus.
 5. Acommunication method comprising the steps of: collectively transmittingfrom a first communication apparatus to a second communication apparatusa first SOAP request to be transmitted to the second communicationapparatus and a second SOAP response to a second SOAP request receivedfrom the second communication apparatus, which first SOAP request andsecond SOAP response are described in one message; and collectivelytransmitting from the second communication apparatus to the firstcommunication apparatus the second SOAP request to be transmitted to thefirst communication apparatus and a first SOAP response to the firstSOAP request received from the first communication apparatus, whichsecond SOAP request and first SOAP response are described in onemessage.
 6. The communication method as claimed in claim 5, wherein: thefirst SOAP request and the second SOAP request each describe a functioncall; and the first SOAP response and the second SOAP response eachdescribe an execution result of a function called by the function call.7. The communication method as claimed in claim 5, wherein: the secondcommunication apparatus is arranged to transmit to the firstcommunication apparatus an HTTP request that describes the second SOAPrequest and the first SOAP response to be transmitted to the firstcommunication apparatus; and the first communication apparatus isarranged to transmit to the second communication apparatus an HTTPresponse to the HTTP request that describes the first SOAP request andthe second SOAP response to be transmitted to the second communicationapparatus.
 8. The communication method as claimed in claim 7, whereinthe second communication apparatus is arranged to periodically transmitthe HTTP request to the first communication apparatus.
 9. Acommunication apparatus that is adapted to communicate with anothercommunication apparatus as a communication counterpart, saidcommunication apparatus comprising: transmitting means for collectivelytransmitting to the communication counterpart a first operation requestto be transmitted to the communication counterpart and a secondoperation response to a second operation request from the communicationcounterpart, which first operation request and second operation responseare combined in one batch; receiving means for collectively receivingfrom the communication counterpart a first operation response to thefirst operation request transmitted to the communication counterpart andthe second operation request from the communication counterpart, whichfirst operation response and second operation request are combined inone batch; and means for executing an operation according to the secondoperation request from the communication counterpart, and generating thesecond operation response to said second operation request as anexecution result of said operation.
 10. The communication apparatus asclaimed in claim 9, wherein: the first operation request and the secondoperation request each correspond to a function call; and the firstoperation response and the second operation response each correspond toan execution result of a function called by the function call.
 11. Acommunication apparatus that is adapted to communicate with anothercommunication apparatus as a communication counterpart, saidcommunication apparatus comprising: first storage means for storing asecond operation request from the communication counterpart and a secondoperation response to said second operation request; second storagemeans for storing a first operation request to the communicationcounterpart and a first operation response to said first operationrequest; request generating means for generating the first operationrequest to the communication counterpart and storing the generated firstoperation request in the second storage means; response generating meansfor reading from the first storage means the second operation requestfrom the communication counterpart, executing an operation according tosaid second operation request, generating the second operation responseto said second operation request as an execution result of saidoperation, and storing in the first storage means the generated secondoperation response in association with the read second operationrequest; gathering means for reading from the first storage means thesecond operation response to the second operation request from thecommunication counterpart, and reading from the second storage means thefirst operation request to the communication counterpart; transmittingmeans for collectively transmitting to the communication counterpart thesecond operation response and the first operation request read by thegathering means in one batch; receiving means for collectively receivingfrom the communication counterpart the first operation response to thefirst operation request transmitted to the communication counterpart andthe second operation request from the communication counterpart in onebatch; and distributing means for storing in the first storage means thesecond operation request from the communication counterpart received bythe receiving means, and storing in the second storage means the firstoperation response to the first operation request transmitted to thecommunication counterpart in association with the first operationrequest transmitted to the communication counterpart.
 12. Thecommunication apparatus as claimed in claim 11, wherein: thetransmitting means is arranged to transmit to the communicationcounterpart the first operation request and the second operationresponse as SOAP messages; and the receiving means is arranged toreceive from the communication counterpart the second operation requestand the first operation response as SOAP messages.
 13. The communicationapparatus as claimed in claim 11, further comprising: means forassigning priority information to the second operation request stored inthe first storage means and the first operation request stored in thesecond storage means; wherein the response generating means is arrangedto successively read from the first storage means the second operationrequest from the communication counterpart, generate the secondoperation response to said second operation request, and store thegenerated second operation response in the first storage means accordingto the priority information; and the gathering means is arranged tosuccessively read from the first storage means the second operationresponse to the second operation request from the communicationcounterpart according to the priority information, and successively readfrom the second storage means the first operation request to thecommunication counterpart according to the priority information.
 14. Acommunication apparatus that is adapted to communicate with anothercommunication apparatus as a communication counterpart, saidcommunication apparatus comprising: transmitting means for collectivelytransmitting to the communication counterpart a first SOAP request to betransmitted to the communication counterpart and a second SOAP responseto a second SOAP request from the communication counterpart, which firstSOAP request and second SOAP response are described in one message;receiving means for collectively receiving from the communicationcounterpart a first SOAP response to the first SOAP request transmittedto the communication counterpart and the second SOAP request from thecommunication counterpart, which first SOAP response and second SOAPrequest are described in one message; and means for executing anoperation being requested by the second SOAP request from thecommunication counterpart and generating the second SOAP responsedescribing an execution result of said second SOAP request.
 15. Thecommunication apparatus as claimed in claim 14, wherein: the first SOAPrequest and the second SOAP request each describe a function call; andthe first SOAP response and the second SOAP response each describe anexecution result of a function called by the function call.
 16. Acommunication apparatus that is adapted to communicate with anothercommunication apparatus as a communication counterpart, saidcommunication apparatus comprising: first storage means for storing asecond operation request from the communication counterpart and a secondoperation response to said second operation request; second storagemeans for storing a first operation request to the communicationcounterpart and a first operation response to said first operationrequest; request generating means for generating the first operationrequest to the communication counterpart and storing the generated firstoperation request in the second storage means; response generating meansfor reading from the first storage means the second operation requestfrom the communication counterpart, executing an operation according tosaid second operation request, generating the second operation responseto said second operation request as an execution result of saidoperation, and storing in the first storage means the generated secondoperation response in association with the read second operationrequest; gathering means for reading from the first storage means thesecond operation response to the second operation request from thecommunication counterpart, and reading from the second storage means thefirst operation request to the communication counterpart; transmittingmeans for collectively transmitting to the communication counterpart asecond SOAP response describing a content of the second operationresponse read by the gathering means and a first SOAP request describinga content of the first operation request read by the gathering means,which second SOAP response and first SOAP request are described in onemessage; receiving means for collectively receiving from thecommunication counterpart a first SOAP response describing the contentof the first operation response to the first operation requesttransmitted to the communication counterpart and a second SOAP requestdescribing the content of the second operation request that aredescribed in one message; and distributing means for storing in thefirst storage means the content of the second operation request from thecommunication counterpart described in the second SOAP request receivedby the receiving means, and storing in the second storage means thecontent of the first operation response to the first operation requesttransmitted to the communication counterpart described in the receivedfirst SOAP response in association with the first operation requesttransmitted to the communication counterpart.
 16. The communicationapparatus as claimed in claim 15, further comprising: means forassigning priority information to the second operation request stored inthe first storage means and the first operation request stored in thesecond storage means; wherein the response generating means is arrangedto successively read from the first storage means the second operationrequest from the communication counterpart, generate the secondoperation response to said second operation request, and store thegenerated second operation response in the first storage means accordingto the priority information; and the gathering means is arranged tosuccessively read from the first storage means the second operationresponse to the second operation request from the communicationcounterpart according to the priority information, and successively readfrom the second storage means the first operation request to thecommunication counterpart according to the priority information.
 17. Acommunication system for a plurality of communication apparatuses thatare adapted to communicate with each other as communicationcounterparts, said communication system comprising for eachcommunication apparatus: transmitting means for collectivelytransmitting to the communication counterpart a first operation requestto be transmitted to the communication counterpart and a secondoperation response to a second operation request from the communicationcounterpart, which first operation request and second operation responseare combined in one batch; receiving means for collectively receivingfrom the communication counterpart a first operation response to thefirst operation request transmitted to the communication counterpart andthe second operation request from the communication counterpart, whichfirst operation response and second operation request are combined inone batch; and means for executing an operation according to the secondoperation request from the communication counterpart, and generating thesecond operation response to said second operation request as anexecution result of said operation.
 18. The communication system asclaimed in claim 17, wherein: the first operation request and the secondoperation request each correspond to a function call; and the firstoperation response and the second operation response each correspond toan execution result of a function called by the function call.
 19. Acommunication system for a plurality of communication apparatuses thatare adapted to communicate with each other as communicationcounterparts, said communication system comprising for eachcommunication apparatus: first storage means for storing a secondoperation request from the communication counterpart and a secondoperation response to said second operation request; second storagemeans for storing a first operation request to the communicationcounterpart and a first operation response to said first operationrequest; request generating means for generating the first operationrequest to the communication counterpart and storing the generated firstoperation request in the second storage means; response generating meansfor reading from the first storage means the second operation requestfrom the communication counterpart, executing an operation according tosaid second operation request, generating the second operation responseto said second operation request as an execution result of saidoperation, and storing in the first storage means the generated secondoperation response in association with the read second operationrequest; gathering means for reading from the first storage means thesecond operation response to the second operation request from thecommunication counterpart, and reading from the second storage means thefirst operation request to the communication counterpart; transmittingmeans for collectively transmitting to the communication counterpart thesecond operation response and the first operation request read by thegathering means in one batch; receiving means for collectively receivingfrom the communication counterpart the first operation response to thefirst operation request transmitted to the communication counterpart andthe second operation request from the communication counterpart in onebatch; and distributing means for storing in the first storage means thesecond operation request from the communication counterpart received bythe receiving means, and storing in the second storage means the firstoperation response to the first operation request transmitted to thecommunication counterpart in association with the first operationrequest transmitted to the communication counterpart.
 20. Thecommunication system as claimed in claim 19, wherein: the transmittingmeans is arranged to transmit to the communication counterpart the firstoperation request and the second operation response as SOAP messages;and the receiving means is arranged to receive from the communicationcounterpart the second operation request and the first operationresponse as SOAP messages.
 21. The communication system as claimed inclaim 19, further comprising for each communication apparatus: means forassigning priority information to the second operation request stored inthe first storage means and the first operation request stored in thesecond storage means; wherein the response generating means of eachcommunication apparatus is arranged to successively read from the firststorage means the second operation request from the communicationcounterpart, generate the second operation response to said secondoperation request, and store the generated second operation response inthe first storage means according to the priority information; thegathering means of each communication apparatus is arranged tosuccessively read from the first storage means the second operationresponse to the second operation request from the communicationcounterpart according to the priority information, and successively readfrom the second storage means the first operation request to thecommunication counterpart according to the priority information.
 22. Acommunication apparatus control method for controlling a communicationapparatus that is adapted to communicate with another communicationapparatus as a communication counterpart, said method controlling thecommunication apparatus to execute: a transmitting process ofcollectively transmitting to the communication counterpart a firstoperation request to be transmitted to the communication counterpart anda second operation response to a second operation request from thecommunication counterpart, which first operation request and secondoperation response are combined in one batch; a receiving process ofcollectively receiving from the communication counterpart a firstoperation response to the first operation request transmitted to thecommunication counterpart and the second operation request from thecommunication counterpart, which first operation response and secondoperation request are combined in one batch; and a process of executingan operation according to the second operation request from thecommunication counterpart, and generating the second operation responseto said second operation request as an execution result of saidoperation.
 23. The communication apparatus control method as claimed inclaim 22, wherein: the first operation request and the second operationrequest each correspond to a function call; and the first operationresponse and the second operation response each correspond to anexecution result of a function called by the function call.
 24. Acommunication apparatus control method for controlling a communicationapparatus that is adapted to communicate with another communicationapparatus as a communication counterpart, said method controlling thecommunication apparatus to execute: a process of implementing a firststorage area for storing a second operation request from thecommunication counterpart and a second operation response to said secondoperation request; a process of implementing a second storage area forstoring a first operation request to the communication counterpart and afirst operation response to said first operation request; a requestgenerating process of generating the first operation request to thecommunication counterpart and storing the generated first operationrequest in the second storage area; a response generating process ofreading from the first storage area the second operation request fromthe communication counterpart, executing an operation according to saidsecond operation request, generating the second operation response tosaid second operation request as an execution result of said operation,and storing in the first storage area the generated second operationresponse in association with the read second operation request;gathering process of reading from the first storage area the secondoperation response to the second operation request from thecommunication counterpart, and reading from the second storage area thefirst operation request to the communication counterpart; a transmittingprocess of collectively transmitting to the communication counterpartthe second operation response and the first operation request read bythe gathering means in one batch; a receiving process of collectivelyreceiving from the communication counterpart the first operationresponse to the first operation request transmitted to the communicationcounterpart and the second operation request from the communicationcounterpart in one batch; and a distributing process of storing in thefirst storage area the second operation request from the communicationcounterpart received in the receiving process, and storing in the secondstorage area the first operation response to the first operation requesttransmitted to the communication counterpart in association with thefirst operation request transmitted to the communication counterpart.25. The communication apparatus control method as claimed in claim 24,wherein: in the transmitting process, the first operation request andthe second operation response to be transmitted to the communicationcounterpart are transmitted as SOAP messages; and in the receivingprocess, the second operation request and the first operation responseto be received from the communication counterpart are transmitted asSOAP messages.
 26. The communication apparatus control method as claimedin claim 24, wherein: the communication apparatus is further controlledto execute a process of assigning priority information to the secondoperation request stored in the first storage area and the firstoperation request stored in the second storage area; in the responsegenerating process, the second operation request from the communicationcounterpart is successively read from the first storage area to generatethe second operation response to said second operation request and tostore the generated second operation response in the first storage areaaccording to the priority information; in the gathering process, thesecond operation response to the second operation request from thecommunication counterpart is successively read from the first storagearea according to the priority information, and the first operationrequest to the communication counterpart is successively read from thesecond storage area according to the priority information.
 27. A mediumstoring programs for controlling a computer to function as acommunication apparatus that is adapted to communicate with anothercommunication apparatus as a communication counterpart, said mediumcontaining programs for the computer to function as: transmitting meansfor collectively transmitting to the communication counterpart a firstoperation request to be transmitted to the communication counterpart anda second operation response to a second operation request from thecommunication counterpart, which first operation request and secondoperation response are combined in one batch; receiving means forcollectively receiving from the communication counterpart a firstoperation response to the first operation request transmitted to thecommunication counterpart and the second operation request from thecommunication counterpart, which first operation response and secondoperation request are combined in one batch; and means for executing anoperation according to the second operation request from thecommunication counterpart, and generating the second operation responseto said second operation request as an execution result of saidoperation.
 28. The medium implementing the programs as claimed in claim27, wherein: the first operation request and the second operationrequest each correspond to a function call; and the first operationresponse and the second operation response each correspond to anexecution result of a function called by the function call.
 29. A mediumstoring a program for controlling a computer to function as acommunication apparatus that is adapted to communicate with anothercommunication apparatus as a communication counterpart, said mediumcontaining programs for the computer to function as: first storage meansfor storing a second operation request from the communicationcounterpart and a second operation response to said second operationrequest; second storage means for storing a first operation request tothe communication counterpart and a first operation response to saidfirst operation request; request generating means for generating thefirst operation request to the communication counterpart and storing thegenerated first operation request in the second storage means; responsegenerating means for reading from the first storage means the secondoperation request from the communication counterpart, executing anoperation according to said second operation request, generating thesecond operation response to said second operation request as anexecution result of said operation, and storing in the first storagemeans the generated second operation response in association with theread second operation request; gathering means for reading from thefirst storage means the second operation response to the secondoperation request from the communication counterpart, and reading fromthe second storage means the first operation request to thecommunication counterpart; transmitting means for collectivelytransmitting to the communication counterpart the second operationresponse and the first operation request read by the gathering means inone batch; receiving means for collectively receiving from thecommunication counterpart the first operation response to the firstoperation request transmitted to the communication counterpart and thesecond operation request from the communication counterpart in onebatch; and distributing means for storing in the first storage means thesecond operation request from the communication counterpart received bythe receiving means, and storing in the second storage means the firstoperation response to the first operation request transmitted to thecommunication counterpart in association with the first operationrequest transmitted to the communication counterpart.
 30. The mediumstoring the program as claimed in claim 29, wherein: the transmittingmeans is arranged to transmit to the communication counterpart the firstoperation request and the second operation response as SOAP messages;and the receiving means is arranged to receive from the communicationcounterpart the second operation request and the first operationresponse as SOAP messages.
 31. The medium storing the programs asclaimed in claim 29, further containing a program for the computer tofunction as: means for assigning priority information to the secondoperation request stored in the first storage means and the firstoperation request stored in the second storage means; wherein theresponse generating means is arranged to successively read from thefirst storage means the second operation request from the communicationcounterpart, generate the second operation response to said secondoperation request, and store the generated second operation response inthe first storage means according to the priority information; and thegathering means is arranged to successively read from the first storagemeans the second operation response to the second operation request fromthe communication counterpart according to the priority information, andsuccessively read from the second storage means the first operationrequest to the communication counterpart according to the priorityinformation.
 32. A communication client that is adapted to transmit acommunication request to a communication server, and receive acommunication response to said communication request from thecommunication server, wherein the communication request describes aclient request corresponding to a client operation request to thecommunication server, and the communication response describes a clientoperation response to the client request, said communication clientcomprising: transmitting means for collectively transmitting to thecommunication server the client request and a server operation responseto a server request corresponding to a server operation request from thecommunication server that are described together in the communicationrequest; receiving means for collectively receiving from thecommunication server the client operation response to the client requesttransmitted to the communication server and the server request that aredescribed together in the communication response to the communicationrequest; and means for executing an operation according to the serverrequest and generating the server operation response to the serverrequest as an execution result of said operation.
 33. The communicationclient as claimed in claim 32, wherein: the client operation request andthe server operation request each correspond to a function call; and theclient operation response and the client operation response eachcorrespond to an execution result of a function called by the functioncall.
 34. A communication client that is adapted to transmit acommunication request to a communication server, and receive acommunication response to said communication request from thecommunication server, wherein the communication request describes aclient request corresponding to a client operation request to thecommunication server, and the communication response describes a clientoperation response to the client request, said communication clientcomprising: first storage means for storing a server requestcorresponding to a sever operation request from the communication serverand a server operation response to said server request; second storagemeans for storing the client request and a client operation response tosaid client request; request generating means for generating the clientrequest and storing the generated client request in the second storagemeans; response generating means for reading the server request from thefirst storage means, executing an operation according to said serverrequest, generating the server operation response to said server requestas an execution result of said operation, and storing in the firststorage means the generated server operation response in associationwith the read server request; gathering means for reading the serveroperation response to the server request from the first storage means,and reading the client request from the second storage means;transmitting means for collectively transmitting to the communicationserver the read server operation response and client request that aredescribed together in the communication request; receiving means forcollectively receiving from the communication server the clientoperation response to the client request transmitted to thecommunication server and the server request that are described togetherin the communication response to the communication request; anddistributing means for storing in the first storage means the serverrequest received by the receiving means, and storing in the secondstorage means the received client operation response to the clientrequest transmitted to the communication server in association with theclient request transmitted to the communication server.
 35. Thecommunication client as claimed in claim 34, wherein the transmittingmeans is arranged to periodically transmit the communication request tothe communication server.
 36. The communication client as claimed inclaim 34, wherein: the transmitting means is arranged to transmit to thecommunication server the client operation request and the serveroperation response as SOAP messages; and the receiving means is arrangedto receive from the communication server the server operation requestand the client operation response as SOAP messages.
 37. Thecommunication client as claimed in claim 34, further comprising: meansfor assigning priority information to the server request stored in thefirst storage means and the client request stored in the second storagemeans; wherein the response generating means is arranged to successivelyread the server request from the first storage means, generate theserver operation response to said server request, and store thegenerated server operation response in the first storage means accordingto the priority information; and the gathering means is arranged tosuccessively read the server operation response to the server requestfrom the first storage means according to the priority information, andsuccessively read the client request from the second storage meansaccording to the priority information.
 38. A communication client thatis adapted to transmit an HTTP request to a communication server, andreceive an HTTP response to said HTTP request from the communicationserver, wherein the HTTP request describes a client SOAP request to thecommunication server, and the HTTP response describes a client SOAPresponse to the client SOAP request, said communication clientcomprising: transmitting means for collectively transmitting to thecommunication server the client SOAP request and a server SOAP responseto a server SOAP request from the communication server that aredescribed together in the HTTF request; receiving means for collectivelyreceiving from the communication server the client SOAP response to theclient SOAP request transmitted to the communication server and theserver SOAP request from the communication server that are describedtogether in the HTTP response; and means for executing an operationaccording to the server SOAP request received from the communicationserver and generating an execution result of said operation that is tobe described in the server SOAP response to said server SOAP request.39. The communication client as claimed in claim 38, wherein: the clientSOAP request and the server SOAP request each describe a function call;and the client SOAP response and the server SOAP response each describean execution result of a function called by the function call.
 40. Acommunication client that is adapted to transmit an HTTP request to acommunication server, and receive an HTTP response to said HTTP requestfrom the communication server, wherein the HTTP request describes aclient SOAP request to the communication server, and the HTTP responsedescribes a client SOAP response to the client SOAP request, saidcommunication client comprising: first storage means for storing aserver request corresponding to an server operation request from thecommunication server and a server operation response to said serverrequest; second storage means for storing a client request correspondingto a client operation request to the communication server and a clientoperation response to said client request; request generating means forgenerating the client request and storing the generated client requestin the second storage means; response generating means for reading theserver request from the first storage means, executing an operationaccording to said server request, generating the server operationresponse to said server request as an execution result of saidoperation, and storing in the first storage means the generated serveroperation response in association with the read server request;gathering means for reading the server operation response to the serverrequest from the first storage means, and reading the client requestfrom the second storage means; transmitting means for collectivelytransmitting to the communication server the server SOAP responsedescribing a content of the server operation response read by thegathering means and the client SOAP request describing a content of theclient request read by the gathering means that are described togetherin the HTTP request; receiving means for collectively receiving from thecommunication server the client SOAP response to the client SOAP requesttransmitted to the communication server and the server SOAP request fromthe communication server that are described together in the HTTPresponse to the HTTP request; and distributing means for storing in thefirst storage means the content of the server request described in theserver SOAP request received by the receiving means, and storing in thesecond storage means the content of the client operation response to theclient request transmitted to the communication server, which clientoperation response is described in the client SOAP response received bythe receiving means, in association with the client request transmittedto the communication server.
 41. The communication client as claimed inclaim 40, wherein the transmitting means is arranged to periodicallytransmit the HTTP request to the communication server.
 42. Thecommunication client as claimed in claim 40, further comprising: meansfor assigning priority information to the server request stored in thefirst storage means and the client request stored in the second storagemeans; wherein the response generating means is arranged to successivelyread the server request from the first storage means, generate theserver operation response to said server request, and store thegenerated server operation response in the first storage means accordingto the priority information; and the gathering means is arranged tosuccessively read the server operation response to the server requestfrom the first storage means according to the priority information, andsuccessively read the client request from the second storage meansaccording to the priority information.
 43. A communication clientcontrol method for controlling a communication client that is adapted totransmit a communication request to a communication server, and receivea communication response to said communication request from thecommunication server, wherein the communication request describes aclient request corresponding to an operation request to thecommunication server, and the communication response describes anoperation response to the client request, said method controlling thecommunication client to execute: a transmitting process of collectivelytransmitting to the communication server the client request and anoperation response to a server request corresponding to an operationrequest from the communication server that are described together in thecommunication request; a receiving process of collectively receivingfrom the communication server the operation response to the clientrequest transmitted to the communication server and the server requestthat are described together in the communication response to thecommunication request; and a process of executing an operation accordingto the server request and generating the operation response to theserver request as an execution result of said operation.
 44. Thecommunication client control method as claimed in claim 43, wherein theoperation request corresponds to a function call; and the operationresponse corresponds to an execution result of a function called by thefunction call.
 45. A communication client control method for controllinga communication client that is adapted to transmit a communicationrequest to a communication server, and receive a communication responseto said communication request from the communication server, wherein thecommunication request describes a client request corresponding to anoperation request to the communication server, and the communicationresponse describes an operation response to the client request, saidmethod controlling the communication client to execute: a process ofimplementing a first storage area for storing a server requestcorresponding to an operation request from the communication server andan operation response to said server request; a process of implementinga second storage area for storing the client request and an operationresponse to said client request; a request generating process ofgenerating the client request and storing the generated request in thesecond storage area; a response generating process of reading the serverrequest from the first storage area, executing an operation according tosaid server request, generating the operation response to said serverrequest as an execution result of said operation, and storing in thefirst storage area the generated operation response in association withthe read server request; a gathering process of reading the operationresponse to the server request from the first storage area, and readingthe client request from the second storage area; a transmitting processof collectively transmitting to the communication server the readoperation response and client request that are described together in thecommunication request; a receiving process of collectively receivingfrom the communication server the operation response to the clientrequest transmitted to the communication server and the server requestthat are described together in the communication response to thecommunication request; and a distributing process of storing in thefirst storage area the server request received in the receiving process,and storing in the second storage area the received operation responseto the client request transmitted to the communication server inassociation with the client request transmitted to the communicationserver.
 46. The communication client control method as claimed in claim45, wherein the communication client is controlled to periodicallytransmit the communication request to the communication server.
 47. Thecommunication client control method as claimed in claim 45, wherein: inthe transmitting process, the operation request and the operationresponse are transmitted to the communication server as respective SOAPmessages; and in the receiving process, the operation request and theoperation response are received from the communication server asrespective SOAP messages.
 48. The communication client control method asclaimed in claim 45, further controlling the communication client toexecute: a process of assigning priority information to the serverrequest stored in the first storage area and the client request storedin the second storage area; wherein in the response generating process,the server request is successively read from the first storage area togenerate the operation response to said server request and store thegenerated operation response in the first storage area according to thepriority information; and in the gathering process, the operationresponse to the server request is successively read from the firststorage area according to the priority information, and the clientrequest is successively read from the second storage area according tothe priority information.
 49. A medium storing programs for controllinga computer to function as a communication client that is adapted totransmit a communication request to a communication server, and receivea communication response to said communication request from thecommunication server, wherein the communication request describes aclient request corresponding to an operation request to thecommunication server, and the communication response describes anoperation response to the client request, said medium containingprograms for the computer to function as: transmitting means forcollectively transmitting to the communication server the client requestand an operation response to a server request corresponding to anoperation request from the communication server that are describedtogether in the communication request; receiving means for collectivelyreceiving from the communication server the operation response to theclient request transmitted to the communication server and the serverrequest that are described together in the communication response to thecommunication request; and means for executing an operation according tothe server request and generating the operation response to the serverrequest as an execution result of said operation.
 50. The medium storingthe programs as claimed in claim 49, wherein: the operation requestcorresponds to a function call; and the operation response correspondsto an execution result of a function called by the function call.
 51. Amedium storing programs for controlling a computer to function as acommunication client that is adapted to transmit a communication requestto a communication server, and receive a communication response to saidcommunication request from the communication server, wherein thecommunication request describes a client request corresponding to anoperation request to the communication server, and the communicationresponse describes an operation response to the client request, saidmedium containing programs for the computer to function as: firststorage means for storing a server request corresponding to an operationrequest from the communication server and an operation response to saidserver request; second storage means for storing the client request andan operation response to said client request; request generating meansfor generating the client request and storing the generated clientrequest in the second storage means; response generating means forreading the server request from the first storage means, executing anoperation according to said server request, generating the operationresponse to said server request as an execution result of saidoperation, and storing in the first storage means the generatedoperation response in association with the read server request;gathering means for reading the operation response to the server requestfrom the first storage means, and reading the client request from thesecond storage means; transmitting means for collectively transmittingto the communication server the read operation response and clientrequest that are described together in the communication request;receiving means for collectively receiving from the communication serverthe operation response to the client request transmitted to thecommunication server and the server request that are described togetherin the communication response to the communication request; anddistributing means for storing in the first storage means the serverrequest received by the receiving means, and storing in the secondstorage means the received operation response to the client requesttransmitted to the communication server in association with the clientrequest transmitted to the communication server.
 52. The medium storingthe programs as claimed in claim 51, wherein the transmitting means isarranged to periodically transmit the communication request to thecommunication server.
 53. The medium storing the programs as claimed inclaim 51, wherein: the transmitting means is arranged to transmit to thecommunication server the operation request and the operation response asrespective SOAP messages; and the receiving means is arranged to receivefrom the communication server the operation request and the operationresponse as respective SOAP messages.
 54. The medium storing theprograms as claimed in claim 51, further containing a program forcontrolling the computer to function as: means for assigning priorityinformation to the server request stored in the first storage means andthe client request stored in the second storage means; wherein theresponse generating means is arranged to successively read the serverrequest from the first storage means, generate the operation response tosaid server request, and store the generated operation response in thefirst storage means according to the priority information; and thegathering means is arranged to successively read the operation responseto the server request from the first storage means according to thepriority information, and successively read the client request from thesecond storage means according to the priority information.
 55. Acommunication server that is adapted to receive a communication requestfrom a communication client, and transmit a communication response tosaid communication request to the communication client, wherein thecommunication request describes a client request corresponding to anoperation request from the communication client, and the communicationresponse describes an operation response to the client request, saidcommunication server comprising: receiving means for collectivelyreceiving from the communication client the client request and anoperation response to a server request corresponding to an operationrequest transmitted to the communication client that are describedtogether in the communication request; transmitting means forcollectively transmitting to the communication client the operationresponse to the client request received from the communication clientand the server request that are described together in the communicationresponse to the communication request; and means for executing anoperation according to the client request and generating the operationresponse to the client request as an execution result of said operation.56. The communication server as claimed in claim 55, wherein: theoperation request corresponds to a function call; and the operationresponse corresponds to an execution result of a function called by thefunction call.
 57. A communication server that is adapted to receive acommunication request from a communication client, and transmit acommunication response to said communication request to thecommunication client, wherein the communication request describes aclient request corresponding to an operation request from thecommunication client, and the communication response describes anoperation response to the client request, said communication servercomprising: first storage means for storing the client request and anoperation response to said client request; second storage means forstoring a server request corresponding to an operation request to thecommunication client and an operation response to said server request;request generating means for generating the server request and storingthe generated server request in the second storage means; responsegenerating means for reading the client request from the first storagemeans, executing an operation according to said client request,generating the operation response to said client request as an executionresult of said operation, and storing in the first storage means thegenerated operation response in association with the read clientrequest; receiving means for collectively receiving from thecommunication client the client request and the operation response tothe server request transmitted to the communication client that aredescribed together in the communication request; distributing means forstoring in the first storage means the client request received by thereceiving means, and storing in the second storage means the receivedoperation response to the server request transmitted to thecommunication client in association with the server request transmittedto the communication client; gathering means for reading the operationresponse to the client request from the first storage means, and readingthe server request from the second storage means; and transmitting meansfor collectively transmitting to the communication client the readoperation response and server request that are described together in thecommunication response.
 58. The communication server as claimed in claim57, wherein: the receiving means is arranged to receive the operationresponse and the operation request from the communication client asrespective SOAP messages; and the transmitting means is arranged totransmit the operation response and the operation request to thecommunication client as respective SOAP messages.
 59. The communicationserver as claimed in claim 57, further comprising: means for assigningpriority information to the client request stored in the first storagemeans and the server request stored in the second storage means; whereinthe response generating means is arranged to successively read theclient request from the first storage means, generate the operationresponse to said client request, and store the generated operationresponse in the first storage means according to the priorityinformation; and the gathering means is arranged to successively readthe operation response to the client request from the first storagemeans according to the priority information, and successively read theserver request from the second storage means according to the priorityinformation.
 60. A communication server that is adapted to receive anHTTP request from a communication client, and transmit an HTTP responseto said communication request to the communication client, wherein theHTTP request describes a SOAP request from the communication client, andthe HTTP response describes a SOAP response to said SOAP request, saidcommunication server comprising receiving means for collectivelyreceiving from the communication client the SOAP request and a SOAPresponse to a SOAP request transmitted to the communication client thatare described together in the HTTP request; transmitting means forcollectively transmitting to the communication client the SOAP responseto the SOAP request from the communication client and the SOAP requestto the communication client that are described together in the HTTPresponse to the HTTP request; and means for executing an operationaccording to the SOAP request received from the communication client andgenerating an execution result of said operation that is to be describedin the SOAP response to said SOAP request.
 61. The communication serveras claimed in claim 60, wherein: the SOAP request describes a functioncall; and the SOAP response describes an execution result of a functioncalled by the function call.
 62. A communication server that is adaptedto receive an HTTP request from a communication client, and transmit anHTTP response to said communication request to the communication client,wherein the HTTP request describes a SOAP request from the communicationclient, and the HTTP response describes a SOAP response to said SOAPrequest, said communication server comprising: first storage means forstoring a client request corresponding to an operation request from thecommunication client and an operation response to said client command;second storage means for storing a server request corresponding to anoperation request to the communication client and an operation responseto said server request; request generating means for generating theserver request and storing the generated server request in the secondstorage means; response generating means for reading the client requestfrom the first storage means; executing an operation according to saidclient request, generating the operation response to said client requestas an execution result of said operation, and storing in the firststorage means the generated operation response in association with theread client request; receiving means for collectively receiving from thecommunication client the SOAP request describing the client request andthe SOAP response, corresponding to a response to the SOAP requesttransmitted to the communication client and describing the operationresponse to the server request transmitted to the communication client,that are described together in the HTTP request; distributing means forstoring in the first storage means a content of the client requestdescribed in the SOAP request received by the receiving means andstoring in the second storage means a content of the operation responsedescribed in the SOPA response received by the receiving means inassociation with the server request transmitted to the communicationclient; gathering means for reading the operation response to the clientrequest from the first storage means, and reading the server requestfrom the second storage means; and transmitting means for collectivelytransmitting to the communication client the SOAP response describingthe content of the operation response read by the gathering means andthe SOAP request describing the content of the operation request read bythe gathering means that are described together in the HTTP response tothe HTTP request.
 63. The communication server as claimed in claim 62,further comprising: means for assigning priority information to theclient request stored in the first storage means and the server requeststored in the second storage means; wherein the response generatingmeans is arranged to successively read the client request from the firststorage means, generate the operation response to said client request,and store the generated operation response in the first storage meansaccording to the priority information; and the gathering means isarranged to successively read the operation response to the clientrequest from the first storage means according to the priorityinformation, and successively read the server request from the secondstorage means according to the priority information.
 64. A communicationserver control method for controlling a communication server that isadapted to receive a communication request from a communication client,and transmit a communication response to said communication request tothe communication client, wherein the communication request describes aclient request corresponding to an operation request from thecommunication client, and the communication response describes anoperation response to said client request, said method controlling thecommunication server to execute: a receiving process of collectivelyreceiving from the communication client the client request and anoperation response to a server request corresponding to an operationrequest transmitted to the communication client that are describedtogether in the communication request; a transmitting process ofcollectively transmitting to the communication client the operationresponse to the client request received from the communication clientand the server request that are described together in the communicationresponse to the communication request; and a process of executing anoperation according to the client request, and generating the operationresponse to the client request as an execution result of said operation.65. The communication server controlling method as claimed in claim 64,wherein: the operation request corresponds to a function call; and theoperation response corresponds to an execution result of a functioncalled by the function call.
 66. A communication server control methodfor controlling a communication server that is adapted to receive acommunication request from a communication client, and transmit acommunication response to said communication request to thecommunication client, wherein the communication request describes aclient request corresponding to an operation request from thecommunication client, and the communication response describes anoperation response to said client request, said method controlling thecommunication server to execute; a process of implementing a firststorage area for storing the client request and an operation response tosaid client request; a process of implementing a second storage area forstoring a server request corresponding to an operation request to thecommunication client and an operation response to said server request; arequest generating process of generating the server request and storingthe generated server request in the second storage area; a responsegenerating process of reading the client request from the first storagearea, executing an operation according to said client request,generating the operation response to said client request as an executionresult of said operation, and storing in the first storage area thegenerated operation response in association with the read clientrequest; a receiving process of collectively receiving from thecommunication client the client request and the operation response tothe server request transmitted to the communication client that aredescribed together in the communication request; a distributing processof storing in the first storage area the client request received in thereceiving process, and storing in the second storage area the receivedoperation response to the server request transmitted to thecommunication client in association with the server request transmittedto the communication client; a gathering process of reading theoperation response to the client request from the first storage area,and reading the server request from the second storage area; and atransmitting process of collectively transmitting to the communicationclient the read operation response and server request that are describedtogether in the communication response.
 67. The communication servercontrolling method as claimed in claim 66, wherein: in the receivingprocess, the operation response and the operation request are receivedfrom the communication client as respective SOAP messages; and in thetransmitting process, the operation response and the operation requestare transmitted to the communication client as respective SOAP messages.68. The communication server controlling method as claimed in claim 66,further controlling the communication server to execute: a process ofassigning priority information to the client request stored in the firststorage area and the server request stored in the second storage area;wherein in the response generating process, the client request issuccessively read from the first storage area to generate the operationresponse to said client request and store the generated operationresponse in the first storage area according to the priorityinformation; and in the gathering process the operation response to theclient request is successively read from the first storage meansaccording to the priority information, and the server request issuccessively read from the second storage means according to thepriority information.
 69. A medium storing programs for controlling acomputer to function as a communication server that is adapted toreceive a communication request from a communication client, andtransmit a communication response to said communication request to thecommunication client, wherein the communication request describes aclient request corresponding to an operation request from thecommunication client, and the communication response describes anoperation response to the client request, said medium containingprograms for the computer to function as: receiving means forcollectively receiving from the communication client the client requestand an operation response to a server request corresponding to anoperation request transmitted to the communication client that aredescribed together in the communication request; transmitting means forcollectively transmitting to the communication client the operationresponse to the client request received from the communication clientand the server request that are described together in the communicationresponse to the communication request; and means for executing anoperation according to the client request and generating the operationresponse to the client request as an execution result of said operation.70. The medium storing the programs as claimed in claim 69, wherein: theoperation request corresponds to a function call; and the operationresponse corresponds to an execution result of a function called by thefunction call.
 71. A medium storing programs for controlling a computerto function as a communication server that is adapted to receive acommunication request from a communication client, and transmit acommunication response to said communication request to thecommunication client, wherein the communication request describes aclient request corresponding to an operation request from thecommunication client, and the communication response describes anoperation response to the client request, said medium containingprograms for the computer to function as: first storage means forstoring the client request and an operation response to said clientrequest; second storage means for storing a server request correspondingto an operation request to the communication client and an operationresponse to said server request; request generating means for generatingthe server request and storing the generated server request in thesecond storage means; response generating means for reading the clientrequest from the first storage means, executing an operation accordingto said client request, generating the operation response to said clientrequest as an execution result of said operation, and storing in thefirst storage means the generated operation response in association withthe read client request; receiving means for collectively receiving fromthe communication client the client request and the operation responseto the server request transmitted to the communication client that aredescribed together in the communication request; distributing means forstoring in the first storage means the client request received by thereceiving means, and storing in the second storage means the receivedoperation response to the server request transmitted to thecommunication client in association with the server request transmittedto the communication client; gathering means for reading the operationresponse to the client request from the first storage means, and readingthe server request from the second storage means; and transmitting meansfor collectively transmitting to the communication client the readoperation response and server request that are described together in thecommunication response.
 72. The medium storing the programs as claimedin claim 71, wherein: the receiving means is arranged to receive theoperation response and the operation request from the communicationclient as respective SOAP messages; and the transmitting means isarranged to transmit the operation response and the operation request tothe communication client as respective SOAP messages.
 73. The mediumstoring the programs as claimed in claim 71, further containing aprogram for controlling the computer to function as: means for assigningpriority information to the client request stored in the first storagemeans and the server request stored in the second storage means; whereinthe response generating means is arranged to successively read theclient request from the first storage means, generate the operationresponse to said client request, and store the generated operationresponse in the first storage means according to the priorityinformation; and the gathering means is arranged to successively readthe operation response to the client request from the first storagemeans according to the priority information, and successively read theserver request from the second storage means according to the priorityinformation.
 74. A communication system for a communication client and acommunication server, wherein the communication client transmits acommunication request to the communication server and receives acommunication response to said communication request from thecommunication server, said communication request describing a clientrequest corresponding to a client operation request to the communicationserver, said communication response describing a client operationresponse to said client request, the communication system comprising:client transmitting means for collectively transmitting to thecommunication server the client request and a server operation responseto a server request corresponding to a server operation request from thecommunication server that are described together in the communicationrequest; client receiving means for collectively receiving from thecommunication server the client operation response to the client requesttransmitted to the communication server and the server request that aredescribed together in the communication response to the communicationrequest; and client executing means for executing an operation accordingto the server request and generating the server operation response tothe server request as an execution result of said operation; serverreceiving means for collectively receiving from the communication clientthe client request and the server operation response to the serverrequest transmitted to the communication client that are describedtogether in the communication request; server transmitting means forcollectively transmitting to the communication client the clientoperation response to the client request received from the communicationclient and the server request that are described together in thecommunication response to the communication request; and serverexecuting means for executing an operation according to the clientrequest and generating the client operation response to the clientrequest as an execution result of said operation.
 75. The communicationsystem as claimed in claim 74, wherein: the client operation request andthe server operation request each correspond to a function call; and theclient operation response and the server operation response eachcorrespond to an execution result of a function called by the functioncall.
 76. A communication system for a communication client and acommunication server, wherein the communication client transmits acommunication request to the communication server and receives acommunication response to said communication request from thecommunication server, said communication request describing a clientrequest corresponding to a client operation request to the communicationserver, said communication response describing a client operationresponse to said client request, said communication system comprising:client first storage means for storing a server request corresponding toa server operation request from the communication server and a serveroperation response to said server request; client second storage meansfor storing the client request and the client operation response to saidclient request; client request generating means for generating theclient request and storing the generated client request in the secondstorage means; client response generating means for reading the serverrequest from the first storage means, executing an operation accordingto said server request, generating the sever operation response to saidserver request as an execution result of said operation, and storing inthe client first storage means the generated server operation responsein association with the read server request; client gathering means forreading the server operation response to the server request from theclient first storage means, and reading the client request from theclient second storage means; client transmitting means for collectivelytransmitting to the communication server the read server operationresponse and client request that are described together in thecommunication request; client receiving means for collectively receivingfrom the communication server the client operation response to theclient request transmitted to the communication server and the serverrequest that are described together in the communication response to thecommunication request; and client distributing means for storing in theclient first storage means the server request received by the receivingmeans, and storing in the client second storage means the receivedclient operation response to the client request transmitted to thecommunication server in association with the client request transmittedto the communication server; server first storage means for storing theclient request and the client operation response to said client request;server second storage means for storing the server request and theserver operation response to said server request; server requestgenerating means for generating the server request and storing thegenerated server request in the server second storage means; serverresponse generating means for reading the client request from the serverfirst storage means, executing an operation according to said clientrequest, generating the client operation response to said client requestas an execution result of said operation, and storing in the serverfirst storage means the generated client operation response inassociation with the read client request; server receiving means forcollectively receiving from the communication client the client requestand the server operation response to the server request transmitted tothe communication client that are described together in thecommunication request; server distributing means for storing in theserver first storage means the client request received by the receivingmeans, and storing in the server second storage means the receivedserver operation response to the server request transmitted to thecommunication client in association with the server request transmittedto the communication client; server gathering means for reading theclient operation response to the client request from the server firststorage means, and reading the server request from the server secondstorage means; and transmitting means for collectively transmitting tothe communication client the read client operation response and serverrequest that are described together in the communication response to thecommunication request received by the server receiving means.
 77. Thecommunication system as claimed in claim 76, wherein the clienttransmitting means is arranged to periodically transmit thecommunication request to the communication server.
 78. The communicationsystem as claimed in claim 76, wherein: the client transmitting means isarranged to transmit the client operation request and the serveroperation response to the communication server as SOAP messages; and theclient receiving means is arranged to receive the server operationrequest and the client operation response from the communication serveras SOAP messages; the server receiving means is arranged to receive theserver operation response and the client operation request from thecommunication client as SOAP messages; and the server transmitting meansis arranged to transmit the client operation response and the serveroperation request to the communication client as SOAP messages.
 79. Thecommunication system as claimed in claim 76, further comprising: clientprioritizing means for assigning priority information to the serverrequest stored in the first storage means and the client request storedin the second storage means; wherein the client response generatingmeans is arranged to successively read the server request from the firststorage means, generate the server operation response to said serverrequest, and store the generated server operation response in the clientfirst storage means according to the priority information; the clientgathering means is arranged to successively read the server operationresponse to the server request from the client first storage meansaccording to the priority information, and successively read the clientrequest from the client second storage means according to the priorityinformation; said communication system further comprising: serverprioritizing means for assigning priority information to the clientrequest stored in the server first storage means and the server requeststored in the server second storage means; wherein the server responsegenerating means is arranged to successively read the client requestfrom the first storage means, generate the client operation response tosaid client request, and store the generated client operation responsein the server first storage means according to the priority information;and the server gathering means is arranged to successively read theclient operation response to the client request from the server firststorage means according to the priority information, and successivelyread the server request from the server second storage means accordingto the priority information.
 80. A communication system for acommunication client and a communication server, wherein thecommunication client transmits an HTTP request to the communicationserver and receives an HTTP response to the HTTP request from thecommunication server, said HTTP request describing a client SOAP requestto the communication server, said HTTP response describing a client SOAPresponse to said client SOAP request, said communication systemcomprising: client transmitting means for collectively transmitting tothe communication server the client SOAP request to the communicationserver and a server SOAP response to a server SOAP request from thecommunication server that are described together in the HTTP request;client receiving means for collectively receiving from the communicationserver the client SOAP response to the client SOAP request transmittedto the communication server and the server SOAP request from thecommunication server that are described together in the HTTP response tothe HTTP request; and client executing means for executing an operationaccording to the server SOAP request received from the communicationserver and generating an execution result of said operation that is tobe described in the server SOAP response to said server SOAP request;server receiving means for collectively receiving from the communicationclient the client SOAP request from the communication client and theserver SOAP response to the server SOAP request transmitted to thecommunication client that are described together in the HTTP request;server transmitting means for collectively transmitting to thecommunication client the client SOAP response to the client SOAP requestfrom the communication client and the server SOAP request to thecommunication client that are described together in the HTTP response tothe HTTP request; and server executing means for executing an operationaccording to the client SOAP request received from the communicationclient and generating an execution result of said operation that is tobe described in the client SOAP response to said client SOAP request.81. The communication system as claimed in claim 80, wherein: the clientSOAP request and the server SOAP request each describe a function call;and the client SOAP response and the server SOAP response each describean execution result of a function called by the function call.
 82. Acommunication system for a communication client and a communicationserver, wherein the communication client transmits an HTTP request tothe communication server and receives an HTTP response to the HTTPrequest from the communication server, said HTTP request describing aclient SOAP request to the communication server, said HTTP responsedescribing a client SOAP response to said client SOAP request, saidcommunication system comprising: client first storage means for storinga server request corresponding to a server operation request from thecommunication server and an server operation response to said serverrequest; client second storage means for storing a client requestcorresponding to a client operation request to the communication serverand a client operation response to said client request; client requestgenerating means for generating the client request and storing thegenerated client request in the client second storage means; clientresponse generating means for reading the server request from the clientfirst storage means, executing an operation according to said serverrequest, generating the server operation response to said server requestas an execution result of said operation, and storing in the clientfirst storage means the generated server operation response inassociation with the read server request; client gathering means forreading the server operation response to the server request from theclient first storage means, and reading the client request from theclient second storage means; client transmitting means for collectivelytransmitting to the communication server the server SOAP responsedescribing a content of the server operation response read by the clientgathering means and the client SOAP request describing a content of theclient request read by the client gathering means that are describedtogether in the HTTP request; client receiving means for collectivelyreceiving from the communication server the client SOAP response to theclient SOAP request transmitted to the communication server and theserver SOAP request from the communication server that are describedtogether in the HTTP response to the HTTP request; and clientdistributing means for storing in the client first storage means thecontent of the server request described in the server SOAP requestreceived by the client receiving means, and storing in the client secondstorage means the content of the client operation response to the clientrequest transmitted to the communication server, which client operationresponse is described in the client SOAP response received by the clientreceiving means, in association with the client request transmitted tothe communication server; server first storage means for storing theclient request and the client operation response to said client command;server second storage means for storing the server request and theserver operation response to said server request; server requestgenerating means for generating the server request and storing thegenerated server request in the server second storage means; serverresponse generating means for reading the client request from the serverfirst storage means, executing an operation according to said clientrequest, generating the client operation response to said client requestas an execution result of said operation, and storing in the serverfirst storage means the generated client operation response inassociation with the read client request; server receiving means forcollectively receiving from the communication client the client SOAPrequest describing the client request and the server SOAP response tothe server SOAP request describing the server operation response to theserver request transmitted to the communication client, that aredescribed together in the HTTP request; server distributing means forstoring in the server first storage means a content of the clientrequest described in the client SOAP request received by the serverreceiving means and storing in the server second storage means a contentof the server operation response described in the server SOAP responsereceived by the server receiving means in association with the serverrequest transmitted to the communication client; server gathering meansfor reading the client operation response to the client request from theserver first storage means, and reading the server request from theserver second storage means; and server transmitting means forcollectively transmitting to the communication client the client SOAPresponse describing the content of the client operation response read bythe server gathering means and the server SOAP request describing thecontent of the server operation request read by the server gatheringmeans that are described together in the HTTP response to the HTTPrequest.
 83. The communication system as claimed in claim 82, whereinthe client transmitting means is arranged to periodically transmit theHTTP request to the communication server.
 84. The communication systemas claimed in claim 82, further comprising: client prioritizing meansfor assigning priority information to the server request stored in theclient first storage means and the client request stored in the clientsecond storage means; wherein the client response generating means isarranged to successively read the server request from the client firststorage means, generate the server operation response to said serverrequest, and store the generated server operation response in the clientfirst storage means according to the priority information; the clientgathering means is arranged to successively read the server operationresponse to the server request from the client first storage meansaccording to the priority information, and successively read the clientrequest from the client second storage means according to the priorityinformation; said communication system further comprising: serverprioritizing means for assigning priority information to the clientrequest stored in the server first storage means and the server requeststored in the server second storage means; wherein the server responsegenerating means is arranged to successively read the client requestfrom the server first storage means, generate the client operationresponse to said client request, and store the generated clientoperation response in the server first storage means according to thepriority information; and the server gathering means is arranged tosuccessively read the client operation response to the client requestfrom the server first storage means according to the priorityinformation, and successively read the server request from the serversecond storage means according to the priority information.
 85. Acommunication system control method for controlling a communicationsystem comprising a communication client and a communication server,wherein the communication client transmits a communication request tothe communication server and receives a communication response to saidcommunication request from the communication server, said communicationrequest describing a client request corresponding to a client operationrequest to the communication server, said communication responsedescribing a client operation response to said client request from thecommunication server, said method controlling the communication clientto execute: a transmitting process of collectively transmitting to thecommunication server the client request and an server operation responseto a server request corresponding to a server operation request from thecommunication server that are described together in the communicationrequest; a receiving process of collectively receiving from thecommunication server the client operation response to the client requesttransmitted to the communication server and the server request that aredescribed together in the communication response to the communicationrequest; and a process of executing an operation according to the serverrequest and generating the server operation response to the serverrequest as an execution result of said operation; and said methodcontrolling the communication server to execute: a receiving process ofcollectively receiving from the communication client the client requestand the server operation response to the server request transmitted tothe communication client that are described together in thecommunication request; a transmitting process of collectivelytransmitting to the communication client the client operation responseto the client request received from the communication client and theserver request that are described together in the communication responseto the communication request; and a process of executing an operationaccording to the client request, and generating the client operationresponse to the client request as an execution result of said operation.86. The communication system control method as claimed in claim 85,wherein: the client operation request and the server operation requesteach correspond to a function call; and the client operation responseand the server operation response each correspond to an execution resultof a function called by the function call.
 87. A communication systemcontrol method for controlling a communication system comprising acommunication client and a communication server, wherein thecommunication client transmits a communication request to thecommunication server and receives a communication response to saidcommunication request from the communication server, said communicationrequest describing a client request corresponding to a client operationrequest to the communication server, said communication responsedescribing a client operation response to said client request from thecommunication server, said method controlling the communication clientto execute; a process of implementing a first storage area for storing aserver request corresponding to a server operation request from thecommunication server and a server operation response to said serverrequest; a process of implementing a second storage area for storing theclient request and the client operation response to said client request;a request generating process of generating the client request andstoring the generated client request in the second storage area; aresponse generating process of reading the server request from the firststorage area, executing an operation according to said server request,generating the server operation response to said server request as anexecution result of said operation, and storing in the first storagearea the generated server operation response in association with theread server request; a gathering process of reading the server operationresponse to the server request from the first storage area, and readingthe client request from the second storage area; a transmitting processof collectively transmitting to the communication server the read serveroperation response and client request that are described together in thecommunication request; a receiving process of collectively receivingfrom the communication server the client operation response to theclient request transmitted to the communication server and the serverrequest that are described together in the communication response to thecommunication request; and a distributing process of storing in thefirst storage area the server request received in the receiving process,and storing in the second storage area the received client operationresponse to the client request transmitted to the communication serverin association with the client request transmitted to the communicationserver; said method controlling the communication server to execute: aprocess of implementing a first storage area for storing the clientrequest and the client operation response to said client request; aprocess of implementing a second storage area for storing the serverrequest and the server operation response to said server request; arequest generating process of generating the server request and storingthe generated server request in the second storage area; a responsegenerating process of reading the client request from the first storagearea of said communication server, executing an operation according tosaid client request, generating the client operation response to saidclient request as an execution result of said operation, and storing inthe first storage area the generated client operation response inassociation with the read client request; a receiving process ofcollectively receiving from the communication client the client requestand the server operation response to the server request transmitted tothe communication client that are described together in thecommunication request; a distributing process of storing in the firststorage area the client request received in the receiving process, andstoring in the second storage area the received server operationresponse to the server request transmitted to the communication clientin association with the server request transmitted to the communicationclient; a gathering process of reading the client operation response tothe client request from the first storage area of said communicationserver, and reading the server request from the second storage area ofsaid communication server; and a transmitting process of collectivelytransmitting to the communication client the read client operationresponse and server request that are described together in thecommunication response to the communication request received in thereceiving process of said communication server.
 88. The communicationsystem control method as claimed in claim 87, wherein the communicationclient is controlled to periodically transmit the communication requestto the communication server.
 89. The communication system control methodas claimed in claim 87, wherein: the communication client is controlledto: transmit to the communication server the client operation requestand the server operation response as SOAP messages in the transmittingprocess; and receive from the communication server the server operationrequest and the client operation response as SOAP messages in thereceiving process; and the communication server is controlled to:receive the server operation response and the client operation requestfrom the communication client as SOAP messages in the receiving process;and transmit the client operation response and the server operationrequest to the communication client as SOAP messages in the transmittingprocess.
 90. The communication system control method as claimed in claim87, wherein the communication client is further controlled to: execute aprocess of assigning priority information to the server request storedin the first storage area and the client request stored in the secondstorage area; in the response generating process, successively read theserver request from the first storage area, generate the serveroperation response to said server request, and store the generatedserver operation response in the first storage area according to thepriority information; in the gathering process, successively read theserver operation response to the server request from the first storagearea according to the priority information, and successively read theclient request from the second storage area according to the priorityinformation; and the communication server is controlled to: execute aprocess of assigning priority information to the client request storedin the first storage area and the server request stored in the secondstorage area; in the response generating process, successively read theclient request from the first storage area, generate the clientoperation response to said client request, and store the generatedclient operation response in the first storage area according to thepriority information; and in the gathering process, successively readthe client operation response to the client request from the firststorage area according to the priority information, and successivelyread the server request from the second storage area according to thepriority information.